Knak O Auth2 API

Endpoints that need to be implemented to support OAuth2

Operations 3

POST /v1/oauth/token Provide an Access Token #
GET /oauth2/authorize OAuth2 Authorization #
POST /oauth2/token OAuth2 Token #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/knak-oauth2-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

knak-oauth2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Knak O Auth2 API
  version: V1
  x-logo:
    url: https://s3.amazonaws.com/assets.knak.io/img/Knak-Logo-Medium.png
  description: 'Operations tagged OAuth2 across 2 of this provider''s published API definitions: knak-custom-sync-location-openapi-original.yml, knak-dam-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://yourService.com/your-sync-location-api
- url: https://yourService.com/yourDamApi
tags:
- name: OAuth2
  description: Endpoints that need to be implemented to support OAuth2
paths:
  /v1/oauth/token:
    post:
      tags:
      - OAuth2
      summary: Provide an Access Token
      description: If using an Oauth2 configured custom sync location integration Knak will call this endpoint to get an access token for your service. This is used to authenticate requests from Knak to your service.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grant_type:
                  type: string
                  description: The grant type. This should be `authorization_code`.
                  example: authorization_code
                code:
                  type: string
                  description: The authorization code.
                  example: '123456'
                redirect_uri:
                  type: string
                  description: The redirect URI.
                  example: https://yourService.com/oauth/callback
                client_id:
                  type: string
                  description: The client ID.
                  example: your-client-id
                client_secret:
                  type: string
                  description: The client secret.
                  example: your-client-secret
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                    description: The access token.
                    example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
                  token_type:
                    type: string
                    description: The token type.
                    example: Bearer
                  expires_in:
                    type: integer
                    description: The number of seconds until the token expires.
                    example: 3600
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The error message.
                    example: invalid_request
                  error_description:
                    type: string
                    description: A description of the error.
                    example: The request is missing a required parameter.
        401:
          description: Unauthorized
      operationId: postV1OauthToken
      x-operation-id-source: derived
    servers:
    - url: https://yourService.com/your-sync-location-api
  /oauth2/authorize:
    get:
      tags:
      - OAuth2
      summary: OAuth2 Authorization
      description: OAuth2 Authorize endpoint. Will need to be configured in Knak.
      parameters:
      - name: response_type
        in: query
        required: true
        schema:
          type: string
        description: The expected response type. This field should be `code`
        example: code
      - name: client_id
        in: query
        required: true
        schema:
          type: string
        description: The client ID (will need to be configured in Knak)
        example: '1948194'
      - name: redirect_uri
        in: query
        required: true
        schema:
          type: string
        description: The URI that expected authorization code should be sent to.
        example: https://enterprise.knak.io/account/integrations/custom-dam/authorize
      - name: state
        in: query
        required: true
        schema:
          type: string
        description: State
        example: za81js910s
      - name: scope
        in: query
        required: false
        schema:
          type: string
        description: 'Optional: if your application requires a set of scopes, they can be configured in Knak'
        example: read:assets
      responses:
        200:
          description: success
      operationId: getOauth2Authorize
      x-operation-id-source: derived
    servers:
    - url: https://yourService.com/yourDamApi
  /oauth2/token:
    post:
      tags:
      - OAuth2
      summary: OAuth2 Token
      description: 'OAuth2 Token

        endpoint. Please note that this authorization url is configured in Knak.

        The required parameters depend on the grant type requested:


        Authorization Code:


        grant_type: authorization_code


        client_id


        client_secret


        code


        redirect_uri


        Refresh Token


        grant_type: refresh_token


        client_id


        client_secret


        refresh_token'
      parameters:
      - name: tokenRequest
        in: body
        schema:
          $ref: '#/components/schemas/OAuth2TokenRequest'
      responses:
        200:
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuth2TokenResponse'
      operationId: postOauth2Token
      x-operation-id-source: derived
    servers:
    - url: https://yourService.com/yourDamApi
components:
  schemas:
    OAuth2TokenRequest:
      type: object
      required:
      - grant_type
      properties:
        grant_type:
          type: string
          description: The expected OAuth2 grant type. This field should be `authorization_code` or `refresh_token`
          example: authorization_code
        code:
          type: string
          description: 'The authorization code granted by the application. Used with grant type: authorization_code'
          example: 1as314rdfv291si2
        client_id:
          type: string
          description: The client ID
          example: '1948194'
        client_secret:
          type: string
          description: The client secret
          example: '1948194'
        redirect_uri:
          type: string
          description: 'The URI that expected authorization code was sent to. Used with grant type: authorization_code'
          example: https://enterprise.knak.io/account/integrations/custom-dam/authorize
        refresh_token:
          type: string
          description: 'The refresh token for the member that needs its token to be refreshed. Used with grant type: refresh_token'
          example: 'null'
    OAuth2TokenResponse:
      type: object
      properties:
        access_token:
          type: string
          description: The member's assigned access token
          example: wj1ds92jdowk132
        refresh_token:
          type: string
          description: 'The member''s assigned refresh token '
          example: ai298dj2od01kde
        expires_in:
          type: string
          description: The number of seconds in which the access token is valid
          example: '7200'
        token_type:
          type: string
          description: The type of access token
          example: ai298dj2od01kde
x-refined-from:
- knak-custom-sync-location-openapi-original.yml
- knak-dam-openapi-original.yml