Tyk

Tyk Additional Permissions API

These APIs helps you get,add and delete (CRUD) a list of additional (custom) permissions for your Dashboard users. You can use the created additional permissions with Open Policy Agent (OPA). Once created, a custom permission will be added to standard list of user permissions. You can also configure these custom permissions in the security.additional_permissions map in the Tyk Dashboard configuration file. You can check the [full documentation here](https://tyk.io/docs/tyk-dashboard-api/org/permissions/).

Operations 2

GET /api/org/permissions List additional permissions #
PUT /api/org/permissions Add/Delete/Update additional permission #

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/tyk-additional-permissions-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

tyk-additional-permissions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@tyk.io
    name: Tyk Technologies
    url: https://tyk.io/contact
  description: '## Introduction


    The Tyk Dashboard API offers granular, programmatic access to a centralised database of resources that your Tyk nodes can pull from.'
  license:
    name: Mozilla Public License Version 2.0
    url: https://github.com/TykTechnologies/tyk/blob/master/LICENSE.md
  title: Tyk Dashboard Additional Permissions API
  version: 5.7.1
servers:
- url: https://{tenant}
  variables:
    tenant:
      default: localhost:8080
      description: Your dashboard host
security:
- bearerAuth: []
tags:
- description: 'These APIs helps you get,add and delete (CRUD) a list of additional (custom) permissions for your Dashboard users. You can use the created additional permissions with Open Policy Agent (OPA).


    Once created, a custom permission will be added to standard list of user permissions.


    You can also configure these custom permissions in the security.additional_permissions map in the Tyk Dashboard configuration file.


    You can check the full documentation here.'
  externalDocs:
    description: Additional Permissions full documentation.
    url: https://tyk.io/docs/tyk-dashboard-api/org/permissions/
  name: Additional Permissions
paths:
  /api/org/permissions:
    get:
      description: This API returns by default the initial set of additional permissions defined in your Tyk Dashboard configuration, under `security.additional_permissions`. Once you update the permissions via the API, they will be stored at organisation level.
      operationId: listAdditionalPermissions
      responses:
        '200':
          content:
            application/json:
              example:
                additional_permissions:
                  api_developer: API Developer
                  api_manager: API Manager
              schema:
                $ref: '#/components/schemas/NewAdditionalPermissions'
          description: Additional Permissions retrieved successfully.
        '401':
          content:
            application/json:
              example:
                Message: Not authorised
                Meta: null
                Status: Error
              schema:
                $ref: '#/components/schemas/ApiResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                Message: 'access denied: You do not have permission to access  /api/org/permissions'
                Meta: null
                Status: Error
              schema:
                $ref: '#/components/schemas/ApiResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              example:
                Message: Failed to marshal additional permissions.
                Meta: null
                Status: Error
              schema:
                $ref: '#/components/schemas/ApiResponse'
          description: Internal server error.
      summary: List additional permissions
      tags:
      - Additional Permissions
    put:
      description: 'Whenever you want to add/update/delete an additional permission, just send back the updated list of permissions, through this PUT request to the API. For example if you initially had two additional permissions e.g ```{additional_permissions: {api_developer: API Developer, api_manager: API Manager}}``` to add a third permission called `custom_permission` you would append it to the original permission list and your request body would be: ```{additional_permissions: {api_developer: API Developer, api_manager: API Manager, custom_permission: Custom Permission}}```.'
      operationId: updateAdditionalPermissions
      requestBody:
        content:
          application/json:
            example:
              additional_permissions:
                api_developer: API Developer
                api_manager: API Manager
                custom_permission: Custom Permission
            schema:
              $ref: '#/components/schemas/NewAdditionalPermissions'
      responses:
        '200':
          content:
            application/json:
              example:
                Message: Additional Permissions updated in org level.
                Meta: null
                Status: OK
              schema:
                $ref: '#/components/schemas/ApiResponse'
          description: Additional Permissions updated successfully.
        '400':
          content:
            application/json:
              example:
                Message: Failed to read response body.
                Meta: null
                Status: Error
              schema:
                $ref: '#/components/schemas/ApiResponse'
          description: Empty request body.
        '401':
          content:
            application/json:
              example:
                Message: Not authorised
                Meta: null
                Status: Error
              schema:
                $ref: '#/components/schemas/ApiResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                Message: 'access denied: You do not have permission to access  /api/org/permissions'
                Meta: null
                Status: Error
              schema:
                $ref: '#/components/schemas/ApiResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              example:
                Message: Failed to unmarshal response body.
                Meta: null
                Status: Error
              schema:
                $ref: '#/components/schemas/ApiResponse'
          description: Invalid request body or failed to save permission.
      summary: Add/Delete/Update additional permission
      tags:
      - Additional Permissions
components:
  schemas:
    NewAdditionalPermissions:
      properties:
        additional_permissions:
          additionalProperties:
            type: string
          example:
            api_developer: API Developer
            api_manager: API Manager
            custom_permission: Custom Permission
          type:
          - object
          - 'null'
      type: object
    ApiResponse:
      properties:
        ID:
          type: string
        Message:
          type: string
        Meta: {}
        Status:
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      description: The Tyk Dashboard API Access Credentials
      scheme: bearer
      type: http