Dropbox OAuth API

_md__OpenApi::TAG::OAUTH::DESCRIPTION

OpenAPI Specification

dropbox-oauth-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Dropbox API Reference Account OAuth API
  description: "The powerful, yet simple, Dropbox API allows you to manage and control content and team settings programmatically and extend Dropbox capabilities in new and powerful ways. This is a collection that includes requests to all endpoints in the Dropbox API. \n\nThe Dropbox API is divided in two groups of endpoints: User Endpoints and Business Endpoints. Operations that would most likely be executed by a user, such as file operations, are in the User Endpoints folder. Operations that would most likely be executed by a team administrator, such as adding users to groups, live in the Business Endpoints folder. \n\nIf you are new to Dropbox Business and Team Administration, please have a look at the [Dropobox Admin Guide](https://help.dropbox.com/guide/admin/how-to-get-started#dropbox-admin-guide). \n\nIf you want more information on how to use our API please refer to our [Developer Portal](https://www.dropbox.com/developers). \n\n# What's in the collection?\n\nThe endpoints are organized in the following folders:\n* account\n* auth\n* check\n* contacts\n* file_properties\n* file_requests\n* files\n* sharing\n* team\n* team_log\n* users\n\n# Authorization\n\n## OAuth 2.0 for API Access\nDropbox uses OAuth 2.0, an open specification, to authorize access to data. To get an OAuth token from Dropbox to enable Postman to access your Dropbox account via the API you’ll need to create a new app on the DBX Platform.\n\n## Creating an App on the DBX Platform\nNavigate to https://www.dropbox.com/developers/apps and select “Create app” \n1. Choose an API  \n2. Choose the type of access you need \n3. Give your app a name  \n4. Choose the Dropbox account that will own your app  \n\nFor reference, please use the [Dropbox OAuth guide](https://www.dropbox.com/lp/developers/reference/oauth-guide) \n\n## Generating an Access Token\nOnce you select “Create app” a page will load that displays information about your newly created app. To generate an access token scroll down to “OAuth 2” and click “Generate” beneath “Generated access token.” The token will display as a long string of characters. Copy this token for use with the Postman Collection.\n\n## Adding an Access Token to the requests\nIn the Postman client, click on the three dots to the right of the collection name to \"View more actions.\"\n\n![Screenshot of adding access token](https://www.dropbox.com/s/sfebu9ai76cbq39/Screen%20Shot%202020-10-28%20at%2012.50.56%20AM.png?raw=1)\n\nThen, click \"Edit.\"\n\nClick on the \"Variables\" tab and, in the row for the `access_token` variable, paste your access token in the `CURRENT VALUE` column. The default value is `your-access-token-here`.\n\n![Screenshot of adding access token](https://www.dropbox.com/s/ahnbxwe6oscjues/Screen%20Shot%202020-10-28%20at%2012.51.13%20AM.png?raw=1)\n\nFor information on sessions and variables in Postman see the blog post at https://blog.postman.com/sessions-faq/.\n\n# Notes\n* Dropbox also has a Postman Collection in the API Network to help administrators with team management workflows. It is called [Dropbox Team Admin Workflows](). \n\n"
  version: 1.0.0
servers:
- url: https://api.dropbox.com
security:
- bearerAuth: []
tags:
- name: OAuth
  description: _md__OpenApi::TAG::OAUTH::DESCRIPTION
paths:
  /oauth/token:
    post:
      tags:
      - OAuth
      summary: Dropbox _t__OAuthTokenGenerate::SUMMARY
      description: _t__OAuthTokenGenerate::DESCRIPTION
      operationId: oauthTokenGenerate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OAuthTokenGenerateRequest'
            examples:
              default_example:
                $ref: '#/components/examples/OAuthTokenGenerateRequestExample'
      responses:
        '200':
          description: successful operation
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-Ratelimit-Reset:
              $ref: '#/components/headers/X-Ratelimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthTokenResponse'
              examples:
                default_example:
                  $ref: '#/components/examples/OAuthTokenGenerateResponseExample'
      security: []
      servers:
      - url: https://app.hellosign.com
      x-codeSamples:
      - lang: PHP
        label: PHP
        source:
          $ref: examples/OauthTokenGenerate.php
      - lang: C#
        label: C#
        source:
          $ref: examples/OauthTokenGenerate.cs
      - lang: JavaScript
        label: JavaScript
        source:
          $ref: examples/OauthTokenGenerate.js
      - lang: TypeScript
        label: TypeScript
        source:
          $ref: examples/OauthTokenGenerate.ts
      - lang: Java
        label: Java
        source:
          $ref: examples/OauthTokenGenerate.java
      - lang: Ruby
        label: Ruby
        source:
          $ref: examples/OauthTokenGenerate.rb
      - lang: Python
        label: Python
        source:
          $ref: examples/OauthTokenGenerate.py
      - lang: cURL
        label: cURL
        source:
          $ref: examples/OauthTokenGenerate.sh
      x-meta:
        seo:
          title: _t__OAuthTokenGenerate::SEO::TITLE
          description: _t__OAuthTokenGenerate::SEO::DESCRIPTION
      x-hideTryItPanel: true
  /oauth/token?refresh:
    post:
      tags:
      - OAuth
      summary: Dropbox _t__OAuthTokenRefresh::SUMMARY
      description: _t__OAuthTokenRefresh::DESCRIPTION
      operationId: oauthTokenRefresh
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OAuthTokenRefreshRequest'
            examples:
              default_example:
                $ref: '#/components/examples/OAuthTokenRefreshRequestExample'
      responses:
        '200':
          description: successful operation
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-Ratelimit-Reset:
              $ref: '#/components/headers/X-Ratelimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthTokenResponse'
              examples:
                default_example:
                  $ref: '#/components/examples/OAuthTokenRefreshResponseExample'
      security: []
      servers:
      - url: https://app.hellosign.com
      x-codeSamples:
      - lang: PHP
        label: PHP
        source:
          $ref: examples/OauthTokenRefresh.php
      - lang: C#
        label: C#
        source:
          $ref: examples/OauthTokenRefresh.cs
      - lang: JavaScript
        label: JavaScript
        source:
          $ref: examples/OauthTokenRefresh.js
      - lang: TypeScript
        label: TypeScript
        source:
          $ref: examples/OauthTokenRefresh.ts
      - lang: Java
        label: Java
        source:
          $ref: examples/OauthTokenRefresh.java
      - lang: Ruby
        label: Ruby
        source:
          $ref: examples/OauthTokenRefresh.rb
      - lang: Python
        label: Python
        source:
          $ref: examples/OauthTokenRefresh.py
      - lang: cURL
        label: cURL
        source:
          $ref: examples/OauthTokenRefresh.sh
      x-meta:
        seo:
          title: _t__OAuthTokenRefresh::SEO::TITLE
          description: _t__OAuthTokenRefresh::SEO::DESCRIPTION
      x-hideTryItPanel: true
components:
  headers:
    X-RateLimit-Remaining:
      description: _t__Common::RateLimiting::REMAINING
      schema:
        type: integer
        format: int32
        example: 99
    X-RateLimit-Limit:
      description: _t__Common::RateLimiting::LIMIT
      schema:
        type: integer
        format: int32
        example: 100
    X-Ratelimit-Reset:
      description: _t__Common::RateLimiting::RESET
      schema:
        type: integer
        format: int64
        example: 1430170900
  examples:
    OAuthTokenRefreshRequestExample:
      summary: OAuth Token Refresh Example
      value:
        $ref: examples/json/OAuthTokenRefreshRequestExample.json
    OAuthTokenGenerateResponseExample:
      summary: _t__OAuthTokenGenerateResponseExample::SUMMARY
      value:
        $ref: examples/json/OAuthTokenGenerateResponseExample.json
    OAuthTokenGenerateRequestExample:
      summary: OAuth Token Generate Example
      value:
        $ref: examples/json/OAuthTokenGenerateRequestExample.json
    OAuthTokenRefreshResponseExample:
      summary: _t__OAuthTokenRefreshResponseExample::SUMMARY
      value:
        $ref: examples/json/OAuthTokenRefreshResponseExample.json
  schemas:
    OAuthTokenRefreshRequest:
      required:
      - grant_type
      - refresh_token
      properties:
        grant_type:
          description: _t__OAuthTokenRefresh::GRANT_TYPE
          type: string
          default: refresh_token
        refresh_token:
          description: _t__OAuthTokenRefresh::REFRESH_TOKEN
          type: string
      type: object
    OAuthTokenResponse:
      properties:
        access_token:
          type: string
        token_type:
          type: string
        refresh_token:
          type: string
        expires_in:
          description: _t__OAuthTokenResponse::EXPIRES_IN
          type: integer
        state:
          type: string
          nullable: true
      type: object
      x-internal: true
    OAuthTokenGenerateRequest:
      required:
      - client_id
      - client_secret
      - code
      - state
      - grant_type
      properties:
        client_id:
          description: _t__OAuthTokenGenerate::CLIENT_ID
          type: string
        client_secret:
          description: _t__OAuthTokenGenerate::CLIENT_SECRET
          type: string
        code:
          description: _t__OAuthTokenGenerate::CODE
          type: string
        grant_type:
          description: _t__OAuthTokenGenerate::GRANT_TYPE
          type: string
          default: authorization_code
        state:
          description: _t__OAuthTokenGenerate::STATE
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer