openapi: 3.1.0
info:
title: Tyk Developer Portal
description: >-
## Introduction
The Tyk Enterprise Developer Portal Management API offers programmatic
access to all portal resources that your instance of the portal manages.
This API repeats functionality of the user interface and enables APIs
consumers integrating their portal instances with their other IT systems
such as billings, CRMs, ITSM systems and other software.
## Authentication
This API requires an admin authorisation token that is available for admin
users of the portal in the profile page.
version: 1.14.0
servers:
- url: http://localhost:3001/portal-api
tags:
- name: Providers
description: API Providers connected to this portal instance
- name: Users
description: Portal admins and API consumers
- name: Organisations
description: Organisation of API consumers and the portal admins
- name: Teams
description: Teams of API consumers and the portal admins
- name: Products
description: >-
Marketing description and visibility of the API Products surfaced in this
portal instance
- name: Tutorials for API Products
description: Tutorials that are defined for the API products
- name: API documentation for API Products
description: OpenAPI specs for APIs included into the API Prodcuts
- name: Plans
description: >-
Marketing description and visibility settings of usage plans defined in
this portal instance
- name: Catalogues
description: Catalogues of API Products listed on this portal instance
- name: Catalogue audiences
description: Audience management
- name: Access requests
description: Access requests to API Products
- name: Applications and credentials
description: Developer applications and API credential for developers
- name: Portal configuration
description: Show the current portal configuration
- name: Pages and content
description: Pages and content on the pages
- name: Themes
description: Management of the portal's visual themes
- name: Custom Attributes
description: Extend already existing models (User) by adding custom attributes
- name: OAuth2.0 providers
description: OAuth2.0 providers registered in the portal
- name: Webhooks
description: Webhooks management
- name: Posts
description: Posts management
- name: SSO Profiles
description: SSO Profiles management
- name: Tags
description: "Tags management: link API Products to blog posts and control their display."
paths:
/access_requests:
get:
description: List all access requests that exist in the portal
operationId: list-access-requests
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/AccessRequest-basic-index"
description: OK
security:
- AdminAPIToken: []
summary: List all access requests
tags:
- Access requests
/access_requests/{access_request_id}:
delete:
description: >-
This endpoint deletes an access request. If an access request is
approved, its credentials will be revoked and removed from a gateway or
an identity provider
operationId: delete-access-request
parameters:
- description: UID of this access request
in: path
name: access_request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Delete an access request
tags:
- Access requests
get:
description: Get an access request's data
operationId: get-access-request
parameters:
- description: UID of this access request
in: path
name: access_request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/AccessRequest-index-elem"
description: OK
security:
- AdminAPIToken: []
summary: Get an access request's data
tags:
- Access requests
/access_requests/{access_request_id}/approve:
put:
description: >-
This endpoint triggers approval of an access request. A call to this API
will trigger creation of credentials in a gateway or an Identity
Provider
operationId: approve-access-request
parameters:
- description: UID of this access request
in: path
name: access_request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/StatusWithMessage"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/StatusWithMessage"
description: OK
security:
- AdminAPIToken: []
summary: Approve an access request
tags:
- Access requests
/access_requests/{access_request_id}/reject:
put:
description: Reject an access request
operationId: reject-access-request
parameters:
- description: UID of this access request
in: path
name: access_request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/StatusWithMessage"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/StatusWithMessage"
description: OK
security:
- AdminAPIToken: []
summary: Reject an access request
tags:
- Access requests
/apps:
get:
description: List all developer applications
operationId: list-apps
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Client-index"
description: OK
security:
- AdminAPIToken: []
summary: List all developer application that exist in the portal
tags:
- Applications and credentials
post:
description: Create a new developer application
operationId: create-app
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Client-basic"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Client-show"
description: OK
security:
- AdminAPIToken: []
summary: Create a new developer application
tags:
- Applications and credentials
/apps/{app_id}:
delete:
description: >-
Delete an application. The application, all its access requests and
credentials will be removed. Also, it will trigger removal of all
credentials that belong to this application from a gateway and/or
Identity Provider
operationId: delete-app
parameters:
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Delete an application
tags:
- Applications and credentials
get:
description: Get an application's data
operationId: get-app
parameters:
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Client-show"
description: OK
security:
- AdminAPIToken: []
summary: Get an application's data
tags:
- Applications and credentials
put:
description: >-
This endpoint updates an application's data such as its name,
description, redirect URI and the user to whom this application belongs
operationId: update-app
parameters:
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Client-basic"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Client-show"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Bad request or not found
security:
- AdminAPIToken: []
summary: Update an application
tags:
- Applications and credentials
/apps/{app_id}/access-requests:
get:
description: List all access requests for this application
operationId: list-access-requests-from-app
parameters:
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/AccessRequest-index"
description: OK
security:
- AdminAPIToken: []
summary: List all access requests for this application
tags:
- Applications and credentials
/apps/{app_id}/access-requests/{access-request_id}:
delete:
description: >-
This endpoint deletes an access request. If this access request was
approved and has any credenitals attached to it then all of them will be
removed and revoked in a gateway on an identity provider
operationId: delete-access-request-from-app
parameters:
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
- description: UID of this access request
in: path
name: access-request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: OK
security:
- AdminAPIToken: []
summary: Delete an access request
tags:
- Applications and credentials
get:
description: Get an access request's data
operationId: get-access-request-from-app
parameters:
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
- description: UID of this access request
in: path
name: access-request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/AccessRequest-show"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/AccessRequest-show"
description: Not found
security:
- AdminAPIToken: []
summary: Get an access request's data
tags:
- Applications and credentials
/apps/{app_id}/access-requests/{access-request_id}/credentials:
get:
description: List credentials from a specific access request for this app
operationId: list-credentials
parameters:
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
- description: UID of this access request
in: path
name: access-request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Credential-index"
description: OK
security:
- AdminAPIToken: []
summary: List credentials for an access request
tags:
- Applications and credentials
/apps/{app_id}/access-requests/{access-request_id}/credentials/{credential_id}:
delete:
description: >-
This endpoint deletes credentials for an access request and removes an
API key from the gateway or an OAuth2.0 client from the Identity
Provider
operationId: delete-credentials
parameters:
- description: UID of this credential
in: path
name: credential_id
required: true
schema:
type: integer
example: 1
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
- description: UID of this access request
in: path
name: access-request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: OK
security:
- AdminAPIToken: []
summary: Delete a credential from an access request
tags:
- Applications and credentials
get:
description: Get a credential by its ID
operationId: get-credentials
parameters:
- description: UID of this credential
in: path
name: credential_id
required: true
schema:
type: integer
example: 1
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
- description: UID of this access request
in: path
name: access-request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/Credential-index-elem"
description: OK
security:
- AdminAPIToken: []
summary: Get a credential by its ID
tags:
- Applications and credentials
/apps/{app_id}/access-requests/{access-request_id}/credentials/{credential_id}/rotate:
put:
description: >-
Rotate the credentials that belong to an access request for a specific application.
The new credentials will replace the existing ones.
operationId: rotate-credentials
parameters:
- description: UID of this credential
in: path
name: credential_id
required: true
schema:
type: integer
example: 1
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
- description: UID of this access request
in: path
name: access-request_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/StatusWithMessage"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/StatusWithErrors"
description: Not found or issues were encountered rotating credentials
security:
- AdminAPIToken: []
summary: Rotate credentials
tags:
- Applications and credentials
/apps/{app_id}/provision:
put:
description: Create a new access request for this application
operationId: provision-application
parameters:
- description: UID of this application
in: path
name: app_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/StatusWithMessage"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/StatusWithErrors"
description: Not found or Bad request
security:
- AdminAPIToken: []
summary: Create a new access request for this application
tags:
- Applications and credentials
/catalogues:
get:
description: List all catalogues that exist in the portal
operationId: list-catalogues
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Catalogue-index"
description: OK
security:
- AdminAPIToken: []
summary: List all catalogues
tags:
- Catalogues
post:
description: Create a new catalogue
operationId: /catalogues-POST
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Catalogue-create"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Catalogue-show"
description: OK
security:
- AdminAPIToken: []
summary: Create a new catalogue
tags:
- Catalogues
/catalogues/{catalogue_id}:
delete:
description: >-
This endpoint deletes a catalogue. When a catalog is deleted, all of its
audiences are also deleted
operationId: delete-catalogue
parameters:
- description: UID of a catalogue
in: path
name: catalogue_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Delete a catalogue
tags:
- Catalogues
get:
description: Get a catalogue
operationId: get-catalogue
parameters:
- description: UID of a catalogue
in: path
name: catalogue_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Catalogue-show"
description: OK
security:
- AdminAPIToken: []
summary: Get a catalogue
tags:
- Catalogues
put:
description: Update a catalogue's data such as name and visibility settings
operationId: update-catalogue
parameters:
- description: UID of a catalogue
in: path
name: catalogue_id
required: true
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Catalogue-update"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Catalogue-show"
description: OK
security:
- AdminAPIToken: []
summary: Update a catalogue
tags:
- Catalogues
/catalogues/{catalogue_id}/audiences:
get:
description: >-
List audiences that have access to this catalogue. Each audience is a
team that belongs to a specific organisation
operationId: list-audiences
parameters:
- description: UID of a catalogue
in: path
name: catalogue_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganisationCatalogue-index"
description: OK
security:
- AdminAPIToken: []
summary: List audiences for this catalogue
tags:
- Catalogue audiences
post:
description: >-
Add a new audience to this catalogue. Please note that if the catalog's
visibility is set to 'public', the audiences will be ignored
operationId: create-audience
parameters:
- description: UID of a catalogue
in: path
name: catalogue_id
required: true
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/OrganisationCatalogue-create"
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganisationCatalogue-show"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found or bad request
security:
- AdminAPIToken: []
summary: Add a new audience to this catalogue
tags:
- Catalogue audiences
/catalogues/{catalogue_id}/audiences/{audience_id}:
delete:
description: >-
Remove an audience from this catalog. Please note that if the catalog's
visibility is set to 'public', the audiences will be ignored
operationId: delete-audience
parameters:
- description: UID of an audience
in: path
name: audience_id
required: true
schema:
type: integer
example: 1
- description: UID of a catalogue
in: path
name: catalogue_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Remove an audience from a catalog
tags:
- Catalogue audiences
get:
description: List all audiences for this catalogue
operationId: get-audience
parameters:
- description: UID of an audience
in: path
name: audience_id
required: true
schema:
type: integer
example: 1
- description: UID of a catalogue
in: path
name: catalogue_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganisationCatalogue-show"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganisationCatalogue-show"
description: Not found
security:
- AdminAPIToken: []
summary: List all audiences for this catalogue
tags:
- Catalogue audiences
/configs:
get:
description: View the current configuration of the portal
operationId: get-configs
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Settings-index"
description: OK
security:
- AdminAPIToken: []
summary: Get the portal config
tags:
- Portal configuration
/organisations:
get:
description: List all developer organisations
operationId: list-organisations
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Organisation-index"
description: OK
security:
- AdminAPIToken: []
summary: List all developer organisations
tags:
- Organisations
post:
description: Create a new developer organisation
operationId: create-organisation
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Organisation-create"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Organisation-show"
description: OK
security:
- AdminAPIToken: []
summary: Create a new developer organisation
tags:
- Organisations
/organisations/{organisation_id}:
delete:
description: >-
Please note that this endpoint deletes an organisation but not its
developers. When an organisation is deleted, all users are moved to the
Default Organisation. To completely erase an organisation and all its
users, delete the users first
operationId: delete-organisation
parameters:
- description: UID of an organisation
in: path
name: organisation_id
required: true
schema:
type: integer
example: 2
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Delete an organisation
tags:
- Organisations
get:
description: Get an organisation
operationId: get-organisation
parameters:
- description: UID of an organisation
in: path
name: organisation_id
required: true
schema:
type: integer
example: 2
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Organisation-show"
description: OK
security:
- AdminAPIToken: []
summary: Get an organisation
tags:
- Organisations
put:
description: >-
Update an organisation's data. At this point, you can change only the
name of an organisation
operationId: update-organisation
parameters:
- description: UID of an organisation
in: path
name: organisation_id
required: true
schema:
type: integer
example: 2
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Organisation-create"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Organisation-show"
description: OK
security:
- AdminAPIToken: []
summary: Update an organisation
tags:
- Organisations
/organisations/{organisation_id}/teams:
get:
description: List all teams for an organisation
operationId: list-teams
parameters:
- description: UID of an organisation
in: path
name: organisation_id
required: true
schema:
type: integer
example: 2
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Team-index"
description: OK
security:
- AdminAPIToken: []
summary: List all teams for an organisation
tags:
- Teams
post:
description: Create a new team for an organisation
operationId: create-team
parameters:
- description: UID of an organisation
in: path
name: organisation_id
required: true
schema:
type: integer
example: 2
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Team-create"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Team-show"
description: OK
security:
- AdminAPIToken: []
summary: Create a new team for an organisation
tags:
- Teams
/organisations/{organisation_id}/teams/{team_id}:
delete:
description: >-
This endpoint deletes a team from an organisation. Please note that
developers that belong to that team won't be removed. Instead, they will
be moved to the default team of that organisation
operationId: delete-team
parameters:
- description: UID of a team
in: path
name: team_id
required: true
schema:
type: integer
example: 2
- description: UID of an organisation
in: path
name: organisation_id
required: true
schema:
type: integer
example: 2
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Delete a team from an organisation
tags:
- Teams
get:
description: Get teams for an organisation
operationId: get-team
parameters:
- description: UID of a team
in: path
name: team_id
required: true
schema:
type: integer
example: 2
- description: UID of an organisation
in: path
name: organisation_id
required: true
schema:
type: integer
example: 2
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Team-show"
description: OK
security:
- AdminAPIToken: []
summary: Get teams for an organisation
tags:
- Teams
put:
description: >-
Update a team for an organisation by adding or removing users, or
changing the name of the team
operationId: update-team
parameters:
- description: UID of a team
in: path
name: team_id
required: true
schema:
type: integer
example: 2
- description: UID of an organisation
in: path
name: organisation_id
required: true
schema:
type: integer
example: 2
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Team-update"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Team-show"
description: OK
security:
- AdminAPIToken: []
summary: Update a team for an organisation
tags:
- Teams
/pages:
get:
description: List all content pages. This doesn't include blog posts and API Products
operationId: list-pages
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Page-index"
description: OK
security:
- AdminAPIToken: []
summary: List all content pages
tags:
- Pages and content
post:
description: Create a new content page
operationId: create-page
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Page-basic"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Page-show"
description: OK
security:
- AdminAPIToken: []
summary: Create a new content page
tags:
- Pages and content
/pages/{page_id}:
delete:
description: Delete a page
operationId: delete-page
parameters:
- description: UID of the page
in: path
name: page_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Delete a page
tags:
- Pages and content
get:
description: Get a page
operationId: get-page
parameters:
- description: UID of the page
in: path
name: page_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Page-show"
description: OK
security:
- AdminAPIToken: []
summary: Get a page
tags:
- Pages and content
put:
description: Update a page including title, path, and status
operationId: update-page
parameters:
- description: UID of the page
in: path
name: page_id
required: true
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Page-basic"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Page-show"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/Page-show"
description: Validation error
security:
- AdminAPIToken: []
summary: Update a page
tags:
- Pages and content
/pages/{page_id}/content-blocks:
get:
description: List all content blocks which are displayed on this page
operationId: list-content-blocks
parameters:
- description: UID of the page
in: path
name: page_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ContentBlock-index"
description: OK
security:
- AdminAPIToken: []
summary: List all content blocks which are displayed on this page
tags:
- Pages and content
post:
description: Create a new content block for a page
operationId: create-content-block
parameters:
- description: UID of the page
in: path
name: page_id
required: true
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ContentBlock-basic"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ContentBlock-show"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found or Bad request
security:
- AdminAPIToken: []
summary: Create a new content block for a page
tags:
- Pages and content
/pages/{page_id}/content-blocks/{content-block_id}:
delete:
description: Delete content blocks from this page
operationId: delete-content-block
parameters:
- description: UID of the content block
in: path
name: content-block_id
required: true
schema:
type: integer
example: 1
- description: UID of the page
in: path
name: page_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Delete content blocks from this page
tags:
- Pages and content
get:
description: Get a content block
operationId: get-content-block
parameters:
- description: UID of the content block
in: path
name: content-block_id
required: true
schema:
type: integer
example: 1
- description: UID of the page
in: path
name: page_id
required: true
schema:
type: integer
example: 1
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ContentBlock-show"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/ContentBlock-show"
description: Not found
security:
- AdminAPIToken: []
summary: Get a content block
tags:
- Pages and content
put:
description: Update a content block including the content and name
operationId: update-content-block
parameters:
- description: UID of the content block
in: path
name: content-block_id
required: true
schema:
type: integer
example: 1
- description: UID of the page
in: path
name: page_id
required: true
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ContentBlock-basic"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ContentBlock-show"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Bad request or Not found
security:
- AdminAPIToken: []
summary: Update a content block
tags:
- Pages and content
/plans:
get:
description: List all plans that exist in the portal
operationId: list-plans
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Plan-index"
description: OK
security:
- AdminAPIToken: []
summary: List all plans
tags:
- Plans
post:
description: Create a new plan
operationId: create-plan
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PlanRequest"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Plan"
description: OK
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Validation error
security:
- AdminAPIToken: []
summary: Create a new plan
tags:
- Plans
/plans/{plan_id}:
get:
description: Get a plan's details
operationId: get-plan
parameters:
- description: ID of the plan
in: path
name: plan_id
required: true
schema:
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Plan"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Get a plan
tags:
- Plans
delete:
description: Delete a plan
operationId: delete-plan
parameters:
- description: ID of the plan
in: path
name: plan_id
required: true
schema:
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Status"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
security:
- AdminAPIToken: []
summary: Delete a plan
tags:
- Plans
put:
description: Update a plan
operationId: update-plan
parameters:
- description: ID of the plan
in: path
name: plan_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PlanRequest"
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Plan"
description: OK
"404":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Not found
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/OnlyErrors"
description: Validation error
security:
- AdminAPIToken: []
summary: Update a plan
tags:
- Plans
/products:
get:
description: List all products available in the portal
operationId: list-products
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Product-index"
description: OK
security:
- AdminAPIToken: []
summary: List all products
tags:
- Products
post:
description: Create a new product (regular API product or documentation-only product)
operationId: create-product
requestBody:
required: true
content:
application/json:
examples:
regular-product:
summary: Regular API Product
value:
APIDetails:
- APIID: "3108a5fc970946ef66c1835cf73ba7a5"
Description: "This API provides payment endpoints"
OASUrl: "https://petstore.swagger.io/v2/swagger.json"
Catalogues: [1]
CID: "2r7p8aUnkzby17hCJk8w2XvK3K6"
Content: "
Description goes here
" DCREnabled: true Description: "Description goes here" DisplayName: "ACME Payment API" Feature: true IsDocumentationOnly: false Name: "payment_api" ProviderID: 1 Scopes: "payments,clients" Tags: [1] Templates: [1] documentation-product: summary: Documentation only Product value: SpecDetails: - SpecAlias: "payment_api" OASUrl: "https://petstore.swagger.io/v2/swagger.json" Catalogues: [1] CID: "2r7p8aUnkzby17hCJk8w2XvK3K6" Content: "Description goes here
" DCREnabled: true Description: "Description goes here" DisplayName: "Doc only Product" Feature: true IsDocumentationOnly: true Name: "doc_only" Tags: [1] responses: "201": content: application/json: schema: $ref: "#/components/schemas/Product-show" description: Created "422": description: Validation Error content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" security: - AdminAPIToken: [] summary: Create a new product tags: - Products /products/{product_id}: get: description: Get a product operationId: get-product parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Product-show" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/Product-show" description: OK security: - AdminAPIToken: [] summary: Get a product tags: - Products put: description: Update a product (regular API product or documentation-only product) operationId: update-product parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: application/json: examples: regular-product: summary: Regular API Product Update value: Name: "payment_api" ProviderID: 1 IsDocumentationOnly: false APIDetails: - APIID: "3108a5fc970946ef66c1835cf73ba7a5" Description: "This API provides payment endpoints" OASUrl: "https://petstore.swagger.io/v2/swagger.json" Catalogues: [1] CID: "2r7p8aUnkzby17hCJk8w2XvK3K6" Content: "Description goes here
" DCREnabled: true Description: "Description goes here" DisplayName: "ACME Payment API" Feature: true Scopes: "payments,clients" Tags: [1] Templates: [1] documentation-product: summary: Documentation-only Product Update value: Name: "doc_only" IsDocumentationOnly: true SpecDetails: - SpecAlias: "payment_api" OASUrl: "https://petstore.swagger.io/v2/swagger.json" Catalogues: [1] CID: "2r7p8aUnkzby17hCJk8w2XvK3K6" Content: "Description goes here
" DCREnabled: true Description: "Description goes here" DisplayName: "Doc only Product" Feature: true Tags: [1] responses: "200": content: application/json: schema: $ref: "#/components/schemas/Product-show" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found or Bad request security: - AdminAPIToken: [] summary: Update a product tags: - Products delete: description: Delete a product operationId: delete-product parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found security: - AdminAPIToken: [] summary: Delete a product tags: - Products /products/{product_id}/api-details: get: description: List all APIs included in this API Product operationId: list-api-details parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/APIDetail-index" description: OK security: - AdminAPIToken: [] summary: List all APIs included in this API Product tags: - API documentation for API Products /products/{product_id}/spec-details: get: description: List all Specification details included in this Documentation Product operationId: list-spec-details parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/SpecDetail-index" description: OK security: - AdminAPIToken: [] summary: List all Specification details included in this Documentation Product tags: - API documentation for API Products post: description: Add a new specification to this Documentation Product operationId: create-spec-details parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/SpecDetail-create" responses: "201": content: application/json: schema: $ref: "#/components/schemas/SpecDetail-index-elem" description: Created "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad Request "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Validation Error security: - AdminAPIToken: [] summary: Add a new specification to this Documentation Product tags: - API documentation for API Products /products/{product_id}/api-details/{api-id}: get: description: Get description of an API operationId: get-api-details parameters: - description: UID of an API as it comes from the API Provider in: path name: api-id required: true schema: type: string example: a0ce49d559ce49d64fe608ea3728082a - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/APIDetail-show" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/APIDetail-show" description: Not found security: - AdminAPIToken: [] summary: Get description of an API tags: - API documentation for API Products put: description: Update description of an API including name, OAS URL and description operationId: update-api-details parameters: - description: UID of an API as it comes from the API Provider in: path name: api-id required: true schema: type: string example: a0ce49d559ce49d64fe608ea3728082a - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/APIDetail-update" responses: "200": content: application/json: schema: $ref: "#/components/schemas/APIDetail" description: OK security: - AdminAPIToken: [] summary: Update description of an API tags: - API documentation for API Products /products/{product_id}/docs: get: description: List all tutorials for this API Product operationId: list-docs parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Post-index" description: OK security: - AdminAPIToken: [] summary: List all tutorials for this API Product tags: - Tutorials for API Products post: description: Create a new tutorial page for this API Product operationId: create-docs parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Post-create" responses: "201": content: application/json: schema: $ref: "#/components/schemas/Post-create" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: OK security: - AdminAPIToken: [] summary: Create a new tutorial page for this API Product tags: - Tutorials for API Products /products/{product_id}/docs/{doc_id}: delete: description: Delete a tutorial page from this API Product operationId: delete-docs parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 - description: UID of a tutorial page in: path name: doc_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found security: - AdminAPIToken: [] summary: Delete a tutorial page from this API Product tags: - Tutorials for API Products get: description: Get a tutorial page operationId: get-docs parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 - description: UID of a tutorial page in: path name: doc_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Post-index-elem" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/Post-index-elem" description: OK security: - AdminAPIToken: [] summary: Get a tutorial page tags: - Tutorials for API Products put: description: Update a tutorial page including its metadata and content operationId: update-docs parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 - description: UID of a tutorial page in: path name: doc_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Post-create" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Post-index-elem" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found or bad request security: - AdminAPIToken: [] summary: Update a tutorial page tags: - Tutorials for API Products /products/{product_id}/docs/reorder: post: description: Change order of tutorial pages in an API Product operationId: reorder-docs parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Post-reorder" description: >- An array containing the UIDs of tutorial pages represents the new order of tutorial pages for this API Product. The tutorial page whose UID appears first in this array will be positioned first in the API Product's Get Started tab, and so on. responses: "200": description: OK "400": description: Bad request or API Product is not found security: - AdminAPIToken: [] summary: Change order of tutorial pages tags: - Tutorials for API Products /products/{product_id}/api-details/{api_id}/oas: get: description: Download an OAS spec as a file for a specific API in a Product operationId: get-oas parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: api_id in: path schema: type: string example: a0ce49d559ce49d64fe608ea3728082a required: true description: UID of an API as it comes from the API Provider responses: "200": content: application/x-yaml: schema: type: string description: OK "422": content: application/json: schema: type: string example: no oas specified description: Not found or Bad Request security: - AdminAPIToken: [] summary: Download OAS file of an API tags: - API documentation for API Products post: description: Update an OAS file for an API inside an API Product operationId: update-oas parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: api_id in: path schema: type: string example: a0ce49d559ce49d64fe608ea3728082a required: true description: UID of an API as it comes from the API Provider requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: oas spec file responses: "200": description: OK security: - AdminAPIToken: [] summary: Update OAS file of an API tags: - API documentation for API Products delete: description: Remove OAS file from an API operationId: delete-oas parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: api_id in: path schema: type: string example: a0ce49d559ce49d64fe608ea3728082a required: true description: UID of an API as it comes from the API Provider responses: "200": description: OK security: - AdminAPIToken: [] summary: Delete OAS file of an API tags: - API documentation for API Products /products/{product_id}/tags: get: description: List all tags attached to this API Product operationId: list-product-tags parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/ProductTagIndex" description: Product tags retrieved successfully security: - AdminAPIToken: [] summary: List all tags for this API Product tags: - Products post: description: Attach a tag to this API Product operationId: create-product-tag parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Product-Tag" responses: "201": content: application/json: schema: $ref: "#/components/schemas/Product-Tag" description: The tag is successfully attached to the API Product "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: OK security: - AdminAPIToken: [] summary: Attach a tag to this API Product tags: - Products /products/{product_id}/tags/{tag_name}: delete: description: Delete a tag from this API Product operationId: delete-product-tag parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 - description: Name of the tag to delete in: path name: tag_name required: true schema: type: string example: foo responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: Tag successfully deleted from the API Product "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: The tag requested for deletion was not found security: - AdminAPIToken: [] summary: Delete a tag from this API Product tags: - Products get: description: Get a tag for this API Product operationId: get-product-tag parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 - description: Name of the tag in: path name: tag_name required: true schema: type: string example: monetization responses: "200": content: application/json: schema: $ref: "#/components/schemas/Product-Tag" description: Product tag was successfully retrieved "404": content: application/json: schema: $ref: "#/components/schemas/Status" description: Product tag is wot found security: - AdminAPIToken: [] summary: Get a tag from this API Product tags: - Products /products/{product_id}/client_types: get: description: List all client types attached to this API Product operationId: list-product-client-types parameters: - description: UID of a Client Type in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/ProductClientTypeList" description: List of client types successfully retrieved security: - AdminAPIToken: [] summary: List all client types for this API Product tags: - Products post: description: Attach a client type to this API Product operationId: create-product-client-type parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/ProductClientTypeAttach" responses: "201": content: application/json: schema: $ref: "#/components/schemas/ProductClientTypeResponse" description: Client type is successfully attached to the product "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: >- Invalid payload encountered when creating client type. Request could not be processed security: - AdminAPIToken: [] summary: Attach a client type to this API Product tags: - Products /products/{product_id}/client_types/{client_type_id}: delete: description: Delete a client type from this API Product operationId: delete-product-client-type parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 - description: UID of a client type in: path name: client_type_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: Client type is deleted successfully "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Client type is not found security: - AdminAPIToken: [] summary: Detach a client type from this API Product tags: - Products get: description: Get a client type attached to this API Product operationId: get-product-client-type parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 - description: UID of a Client Type in: path name: client_type_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/ProductClientTypeResponse" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/Status" description: Client type is wot found security: - AdminAPIToken: [] summary: Get a client type attached to this API Product tags: - Products /products/{product_id}/logo: post: description: Upload a logo/product page image for this API Product operationId: upload-product-logo parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: image file to upload responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "400": content: text/plain: schema: type: string description: Bad Request summary: Upload a logo/product page image for this API Product tags: - Products get: description: Get the logo/product page image for this API Product operationId: get-product-logo parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: image/jpeg: schema: type: string format: binary description: image file description: OK "400": content: text/plain: schema: type: string description: Bad Request summary: Get the logo/product page image for this API Product tags: - Products delete: description: Delete the logo/product page image for this API Product operationId: delete-product-logo parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "400": content: text/plain: schema: type: string description: Bad Request summary: Delete the logo/product page image for this API Product tags: - Products /products/{product_id}/preview: post: description: Upload a preview/catalogue page image for this API Product operationId: upload-product-preview parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: image file to upload responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "400": content: text/plain: schema: type: string description: Bad Request summary: Upload a preview/catalogue page image for this API Product tags: - Products get: description: Get the preview/catalogue page image for this API Product operationId: get-product-preview parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: image/jpeg: schema: type: string format: binary description: image file description: OK "400": content: text/plain: schema: type: string description: Bad Request summary: Get the preview/catalogue page image for this API Product tags: - Products delete: description: Delete the preview/catalogue page image for this API Product operationId: delete-product-preview parameters: - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "400": content: text/plain: schema: type: string description: Bad Request summary: Delete the preview/catalogue page image for this API Product tags: - Products /tags: get: description: List all tags operationId: list-tags parameters: [] responses: "200": content: application/json: schema: $ref: "#/components/schemas/Tag-index-tags" description: OK security: - AdminAPIToken: [] summary: List all tags tags: - Tags post: description: Create a new tag operationId: /tags-POST parameters: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/Product-Tag" responses: "201": content: application/json: schema: $ref: "#/components/schemas/Tag-show-tags" description: OK "422": description: Not found or bad request content: application/json: schema: $ref: "#/components/schemas/TagErrors" security: - AdminAPIToken: [] summary: Create a new tag tags: - Tags /tags/{tag_id}: get: description: Get a tag operationId: get-tag parameters: - description: UID of a tag in: path name: tag_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Tag-show-tags" description: OK security: - AdminAPIToken: [] summary: Get a tag tags: - Tags put: description: Update a tag operationId: update-tag parameters: - description: UID of a tag in: path name: tag_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Product-Tag" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Tag-show-tags" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/TagErrors" description: Not found or bad request security: - AdminAPIToken: [] summary: Update a tag tags: - Tags delete: description: Delete a tag operationId: delete-tag parameters: - description: UID of a tag in: path name: tag_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK security: - AdminAPIToken: [] summary: Delete a tag tags: - Tags /providers: get: description: List all API Providers connected to this portal instance operationId: list-providers parameters: [] responses: "200": content: application/json: schema: $ref: "#/components/schemas/Provider-index" description: OK security: - AdminAPIToken: [] summary: List all API Providers tags: - Providers post: description: >- Create a new API Provider. The new API Provider will have the 'Unknown' synchronization status until the first synchronization attempt operationId: create-provider parameters: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/Provider-create" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Provider-show" description: OK security: - AdminAPIToken: [] summary: Create a new API Provider tags: - Providers /providers/{provider_id}: delete: description: >- This endpoint deletes an API Provider provider and removes all assets related to it such as API Products and Plans operationId: delete-provider parameters: - description: UID of an API provider in: path name: provider_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK security: - AdminAPIToken: [] summary: Delete an API Provider tags: - Providers get: description: Get an API Provider configuration operationId: get-provider parameters: - description: UID of an API provider in: path name: provider_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Provider-show" description: OK security: - AdminAPIToken: [] summary: Get an API Provider configuration tags: - Providers put: description: Update Provider operationId: update-provider parameters: - description: UID of an API provider in: path name: provider_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Provider-update" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Provider-show" description: OK security: - AdminAPIToken: [] summary: Update Provider tags: - Providers /providers/{provider_id}/synchronize: put: description: Synchronize API Products and plans with an API Provider operationId: synchronize-provider parameters: - description: UID of an API provider in: path name: provider_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/StatusWithMessage" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/StatusWithErrors" description: Error security: - AdminAPIToken: [] summary: Synchronize API Products and plans with an API Provider tags: - Providers /themes: get: description: List all themes operationId: list-themes parameters: [] responses: "200": content: application/json: schema: $ref: "#/components/schemas/Theme-index" description: OK security: - AdminAPIToken: [] summary: List all themes tags: - Themes /themes/{theme_id}: get: description: Get metadata for a theme such as name, author, version and status operationId: get-theme parameters: - description: "`name` of the theme from the theme.json file" in: path name: theme_id required: true schema: type: string example: default responses: "200": content: application/json: schema: $ref: "#/components/schemas/Theme-basic" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Theme not found security: - AdminAPIToken: [] summary: Get a theme tags: - Themes delete: description: Soft delete a theme by its ID operationId: delete-theme parameters: - description: "ID of the theme to delete" in: path name: theme_id required: true schema: type: string responses: "200": description: Theme successfully deleted "404": description: Theme not found "422": description: Cannot delete active theme security: - AdminAPIToken: [] summary: Soft delete a theme tags: - Themes /themes/{theme_id}/activate: put: description: >- Activate a theme. When a new theme is activated, it becomes the current theme for the live portal and is displayed to all developers visiting the portal operationId: activate-theme parameters: - description: "`name` of the theme from the theme.json file" in: path name: theme_id required: true schema: type: string example: default responses: "200": content: application/json: schema: $ref: "#/components/schemas/StatusWithMessage" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/StatusWithErrors" description: Not found or issues were encountered activating the theme security: - AdminAPIToken: [] summary: Activate a theme tags: - Themes /themes/{theme_id}/download: get: description: Download a theme as a zip archive operationId: download-theme parameters: - description: "`name` of the theme from the theme.json file" in: path name: theme_id required: true schema: type: string example: default responses: "200": content: application/zip: schema: type: string format: binary description: zip archive contaning the theme description: OK security: - AdminAPIToken: [] summary: Download a theme tags: - Themes /themes/upload: post: description: >- This endpoint uploads a theme that is archived as a zip file to the portal. If a theme with this name already exists in the portal, the uploaded theme will replace the existing one. Otherwise, a new theme will be created. The name of a theme is stored in the `name` field of `theme.json`. operationId: upload-theme parameters: [] requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Theme-upload" responses: "200": content: text/plain: schema: $ref: "#/components/schemas/Theme-upload-response" description: OK "400": content: text/plain: schema: $ref: "#/components/schemas/Theme-upload-response" description: Bad request security: - AdminAPIToken: [] summary: Upload a theme tags: - Themes /users: get: description: List all admin users and developers operationId: list-users parameters: [] responses: "200": content: application/json: schema: $ref: "#/components/schemas/User-index" description: OK security: - AdminAPIToken: [] summary: List all users tags: - Users post: description: Create a new admin user or developer operationId: create-user parameters: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/User-create" responses: "200": content: application/json: schema: $ref: "#/components/schemas/User-show" description: OK security: - AdminAPIToken: [] summary: Create a new user tags: - Users /users/{user_id}: delete: description: >- Delete a user and all their applications. All credentials that are issued for those applications will be revoked and deleted as well operationId: delete-user parameters: - description: UID of a user in: path name: user_id required: true schema: type: integer example: 1 - description: >- If set to true, will force user deletion on errors caused by interaction with external providers in: query name: force required: false schema: type: boolean example: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found security: - AdminAPIToken: [] summary: Delete a user tags: - Users get: description: Get a user operationId: get-user parameters: - description: UID of a user in: path name: user_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/User-show" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/User-show" description: OK security: - AdminAPIToken: [] summary: Get a user tags: - Users put: description: >- Update a user data such as email, name, identity provider and organisation operationId: update-user parameters: - description: UID of a user in: path name: user_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/User-update" responses: "200": content: application/json: schema: $ref: "#/components/schemas/User-show" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found or Bad request security: - AdminAPIToken: [] summary: Update a user tags: - Users /users/{user_id}/custom-attributes: get: description: Get extended custom attributes for user operationId: list-user-custom-attributes parameters: - description: UID of user in: path name: user_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-user-index" description: OK security: - AdminAPIToken: [] summary: Get extended custom attributes for user tags: - Users /users/{user_id}/custom-attributes/{custom-attribute_id}: get: description: Get a user custom attribute operationId: get-user-custom-attribute parameters: - description: UID of user in: path name: user_id required: true schema: type: integer example: 1 - description: UID of the custom attribute in: path name: custom-attribute_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-user-element" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-user-element" description: Not found security: - AdminAPIToken: [] summary: Get a user custom attribute tags: - Users put: description: Update a user custom attribute value if write once set false operationId: update-user-custom-attribute parameters: - description: UID of user in: path name: user_id required: true schema: type: integer example: 1 - description: UID of the custom attribute in: path name: custom-attribute_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-user-basic" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-user-element" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request or Not found security: - AdminAPIToken: [] summary: Update a user custom attribute tags: - Users delete: description: Delete a user custom attribute operationId: delete-user-custom-attribute parameters: - description: UID of user in: path name: user_id required: true schema: type: integer example: 1 - description: UID of the custom attribute in: path name: custom-attribute_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found security: - AdminAPIToken: [] summary: Delete a custom attribute tags: - Users /extended_attributes: get: description: List all extended models for custom attributes operationId: list-extended-attributes parameters: [] responses: "200": content: application/json: schema: $ref: "#/components/schemas/Extended-attributes" description: OK security: - AdminAPIToken: [] summary: List all extended models tags: - Custom Attributes /extended_attributes/{extended_attribute_id}: get: description: Get an extended attribute detail operationId: get-extended-attribute parameters: - description: UID of extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Extended-attributes-show" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/Extended-attributes-show" description: OK security: - AdminAPIToken: [] summary: Get an extended model detail tags: - Custom Attributes /extended_attributes/{extended_attribute_id}/custom-attributes: get: description: Get a list of custom attributes for an extended model operationId: list-custom-attributes parameters: - description: UID of extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-index" description: OK security: - AdminAPIToken: [] summary: List all custom attributes for a particular extended model tags: - Custom Attributes post: description: Create a new custom attribute for the extended model operationId: create-custom-attribute parameters: - description: UID of extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-create" responses: "201": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-element" description: OK security: - AdminAPIToken: [] summary: Create a new custom attribute tags: - Custom Attributes /extended_attributes/{extended_attribute_id}/custom-attributes/{custom_attribute_id}: delete: description: Delete a custom attribute from this extended model operationId: delete-custom-attribute parameters: - description: UID of the extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 - description: UID of the custom attribute in: path name: custom_attribute_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found security: - AdminAPIToken: [] summary: Delete a custom attribute tags: - Custom Attributes get: description: Get a custom attribute for a particular extended model operationId: get-custom-attribute parameters: - description: UID of the extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 - description: UID of the custom attribute in: path name: custom_attribute_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-element" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-element" description: Not found security: - AdminAPIToken: [] summary: Get a custom attribute tags: - Custom Attributes put: description: Update a custom attribute for a particular extended model operationId: update-custom-attribute parameters: - description: UID of the extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 - description: UID of the custom attribute in: path name: custom_attribute_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-basic" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Custom-attribute-element" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request or Not found security: - AdminAPIToken: [] summary: Update a custom attribute tags: - Custom Attributes /extended_attributes/{extended_attribute_id}/default-attributes: get: description: Get attributes added to this extended model by default operationId: list-default-attributes parameters: - description: UID of extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Default-attribute-index" description: OK security: - AdminAPIToken: [] summary: List all default attributes for a particular extended model tags: - Custom Attributes /extended_attributes/{extended_attribute_id}/default-attributes/{default_attribute_id}: get: description: Get a default attribute for a particular extended model operationId: get-default-attribute parameters: - description: UID of the extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 - description: UID of the default attribute in: path name: default_attribute_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Default-attribute-element" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/Default-attribute-element" description: Not found security: - AdminAPIToken: [] summary: Get a default attribute tags: - Custom Attributes put: description: >- Update a default attribute for a particular extended model to include it in the credential metadata operationId: update-default-attribute parameters: - description: UID of the extended attribute in: path name: extended_attribute_id required: true schema: type: integer example: 1 - description: UID of the default attribute in: path name: default_attribute_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/Default-attribute-basic" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Default-attribute-element" description: OK "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request or Not found security: - AdminAPIToken: [] summary: Update default attribute tags: - Custom Attributes /oauth-providers: get: description: List all OAuth2.0 providers operationId: list-oauth-providers parameters: [] responses: "200": content: application/json: schema: $ref: "#/components/schemas/OAuthProviderIndex" description: OK security: - AdminAPIToken: [] summary: List all OAuth2.0 Identity providers that are registered in the portal tags: - OAuth2.0 providers post: description: Create a new OAuth2.0 provider operationId: create-oauth-provider parameters: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/OAuthProviderCreate" responses: "200": content: application/json: schema: $ref: "#/components/schemas/OAuthProviderElem" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request security: - AdminAPIToken: [] summary: Register a new OAuth2.0 Identity Provider in the portal tags: - OAuth2.0 providers /oauth-providers/{provider_id}: delete: description: > Delete an OAuth2.0 provider. The OAuth2.0 provider and all related client types will be removed. If the provider is used in any API Products, the endpoint will return 400 error. To force remove the provider, specify `?force=true`. In in this case,the portal will remove the provider, all its clients, de-associate it from any API Products where it is used and reject any access requests with such API Products. operationId: delete-oauth-provider parameters: - description: UID of this OAuth2.0 provider in: path name: provider_id required: true schema: type: integer example: 1 - description: >- Enforce removal of the provider if it is used in any API Products. If set to `true`, the portal will remove the provider, all its clients, de-associate it from any API Products where it is used and reject any access requests with such API Products. Considered `false`, when not specified. in: query name: force required: false schema: type: boolean example: false responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider is used in API Products "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider Not found security: - AdminAPIToken: [] summary: Delete an OAuth2.0 Identity Provider tags: - OAuth2.0 providers get: description: Get an OAuth2.0 provider's data operationId: get-oauth-provider parameters: - description: UID of this OAuth2.0 provider in: path name: provider_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/OAuthProviderShow" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider Not found security: - AdminAPIToken: [] summary: Get an Identity Provider's data tags: - OAuth2.0 providers put: description: >- Update the OAuth2.0 provider configuration such its name, type, well-known endpoint URL, and the initial access token. Any existing credentials with this provider won't be updated, new and pending access requests with this provider will assume the new settings. operationId: update-oauth-provider parameters: - description: UID of this OAuth2.0 provider in: path name: provider_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/OAuthProviderCreate" responses: "200": content: application/json: schema: $ref: "#/components/schemas/OAuthProviderShow" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider Not found security: - AdminAPIToken: [] summary: Update an OAuth2.0 Identity Provider tags: - OAuth2.0 providers /oauth-providers/{provider_id}/client-types: get: description: List all client types for an OAuth2.0 provider operationId: list-oauth-provider-client-type parameters: - description: UID of this OAuth2.0 provider in: path name: provider_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/OAuthClientTypeIndex" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider Not found security: - AdminAPIToken: [] summary: List all client types for an OAuth2.0 Identity Provider tags: - OAuth2.0 providers post: description: Create a new client type of an OAuth2.0 Identity Provider operationId: create-oauth-provider-client-type parameters: - description: UID of this OAuth2.0 provider in: path name: provider_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/OAuthClientTypeBasic" responses: "200": content: application/json: schema: $ref: "#/components/schemas/OAuthClientTypeElem" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider Not found security: - AdminAPIToken: [] summary: Create a new client type of an OAuth2.0 Identity Provider tags: - OAuth2.0 providers /oauth-providers/{provider_id}/client-types/{client_type_id}: delete: description: > Delete a client type for an OAuth2.0 Identity Provider. If the client type is used in any API Products, the endpoint will return 400 error. To force remove the client, specify `?force=true`. In in this case,the portal will remove the client type, de-associate it from any API Products where it is used and reject any access requests with such API Products. operationId: delete-oauth-provider-client-type parameters: - description: UID of this OAuth2.0 provider in: path name: provider_id required: true schema: type: integer example: 1 - description: UID of this client type in: path name: client_type_id required: true schema: type: integer example: 1 - description: >- Enforce removal of the client type if it is used in any API Products. If set to `true`, the portal will remove the client type, de-associate it from any API Products where it is used and reject any access requests with such API Products. Considered `false`, when not specified. in: query name: force required: false schema: type: boolean example: false responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Client type is used in API Products "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider or Client Type Not found security: - AdminAPIToken: [] summary: Delete a client type for an OAuth2.0 Identity Provider tags: - OAuth2.0 providers get: description: Get a client type's data operationId: get-oauth-provider-client-type parameters: - description: UID of this OAuth2.0 provider in: path name: provider_id required: true schema: type: integer example: 1 - description: UID of this client type in: path name: client_type_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/OAuthClientTypeElem" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider or Client Type Not found security: - AdminAPIToken: [] summary: Get a client type's data tags: - OAuth2.0 providers put: description: >- Update a client type configuration such as its name, allowed grant types, allowed response types, and so on. Any existing credentials with this client type won't be updated, new and pending access requests with this client type will assume the new settings. operationId: update-oauth-provider-client-type parameters: - description: UID of this OAuth2.0 provider in: path name: provider_id required: true schema: type: integer example: 1 - description: UID of this client type in: path name: client_type_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: $ref: "#/components/schemas/OAuthClientTypeBasic" responses: "200": content: application/json: schema: $ref: "#/components/schemas/OAuthClientTypeElem" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Identity Provider Not found security: - AdminAPIToken: [] summary: Update a client type for an Identity Provider tags: - OAuth2.0 providers /webhooks: get: summary: List all webhooks description: Retrieves all configured webhooks. operationId: list-webhooks tags: - Webhooks responses: "200": description: A list of webhooks. content: application/json: schema: $ref: "#/components/schemas/Webhook-index" post: summary: Create a new webhook description: Creates a new webhook configuration. operationId: create-webhook tags: - Webhooks requestBody: description: Webhook object that needs to be added required: true content: application/json: schema: $ref: "#/components/schemas/Webhook-create" responses: "201": description: Webhook created successfully. content: application/json: schema: $ref: "#/components/schemas/Webhook-show" "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request /webhooks/{webhook_id}: get: summary: Get a webhook by ID description: Retrieves a webhook using its unique identifier. operationId: get-webhook tags: - Webhooks parameters: - name: webhook_id in: path required: true schema: type: string responses: "200": description: Webhook retrieved successfully. content: application/json: schema: $ref: "#/components/schemas/Webhook-show" "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request put: summary: Update a webhook by ID description: Updates an existing webhook's configuration using its unique identifier. operationId: update-webhook tags: - Webhooks parameters: - name: webhook_id in: path required: true schema: type: string requestBody: description: Webhook object that needs to be updated required: true content: application/json: schema: $ref: "#/components/schemas/Webhook-update" responses: "200": description: Webhook updated successfully. content: application/json: schema: $ref: "#/components/schemas/Webhook-show" "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request delete: summary: Delete a webhook by ID description: Removes a webhook using its unique identifier. operationId: delete-webhook tags: - Webhooks parameters: - name: webhook_id in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Status" "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request /webhooks/{webhook_id}/headers: get: summary: List all headers for a webhook description: Retrieves all headers for a specific webhook. operationId: list-webhook-headers tags: - Webhooks parameters: - name: webhook_id in: path required: true schema: type: string responses: "200": description: A list of headers for the specified webhook. content: application/json: schema: $ref: "#/components/schemas/WebhookHeader-index" "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request post: summary: Add a new header to a webhook description: Adds a new header to an existing webhook. operationId: create-webhook-header tags: - Webhooks parameters: - name: webhook_id in: path required: true schema: type: string requestBody: description: Header object that needs to be added required: true content: application/json: schema: $ref: "#/components/schemas/WebhookHeader-create" responses: "201": description: Header added successfully. content: application/json: schema: $ref: "#/components/schemas/WebhookHeader-show" "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Validation error /webhooks/{webhook_id}/headers/{header_id}: get: summary: Get a header by ID for a specific webhook description: >- Retrieves the details of a specific header associated with a given webhook. Useful for inspecting custom headers configured for webhook delivery. operationId: get-webhook-header tags: - Webhooks parameters: - name: webhook_id in: path required: true schema: type: string - name: header_id in: path required: true schema: type: string responses: "200": description: Header retrieved successfully. content: application/json: schema: $ref: "#/components/schemas/WebhookHeader-show" "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request put: summary: Update a header by ID for a specific webhook description: Updates an existing header in a webhook. operationId: update-webhook-header tags: - Webhooks parameters: - name: webhook_id in: path required: true schema: type: string - name: header_id in: path required: true schema: type: string requestBody: description: Header object that needs to be updated required: true content: application/json: schema: $ref: "#/components/schemas/WebhookHeader-update" responses: "200": description: Header updated successfully. content: application/json: schema: $ref: "#/components/schemas/WebhookHeader-update" "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request "422": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Validation error delete: summary: Delete a header by ID for a specific webhook description: Removes a header from a webhook. operationId: delete-webhook-header tags: - Webhooks parameters: - name: webhook_id in: path required: true schema: type: string - name: header_id in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Status" "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Validation error /posts: get: description: List all posts in the portal. operationId: list-posts parameters: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Post-index" security: - AdminAPIToken: [] summary: List all posts tags: - Posts post: description: Create a new post. operationId: /posts-POST requestBody: content: application/json: schema: $ref: "#/components/schemas/Post-create" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/Post-show" security: - AdminAPIToken: [] summary: Create a new post tags: - Posts /posts/{post_id}: get: description: Get a specific post by its ID. operationId: get-post parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Post-show" security: - AdminAPIToken: [] summary: Get a post by ID tags: - Posts put: description: Update a post's data such as title, content, status, and more. operationId: update-post parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post requestBody: content: application/json: schema: $ref: "#/components/schemas/Post-update" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Post-show" security: - AdminAPIToken: [] summary: Update a post tags: - Posts delete: description: Delete a specific post by its ID. operationId: delete-post parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Status" "404": description: Not found content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" security: - AdminAPIToken: [] summary: Delete a post tags: - Posts /posts/{post_id}/categories: get: description: List all categories associated with a specific post. operationId: list-post-categories parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Category-index" security: - AdminAPIToken: [] summary: List categories for a post tags: - Posts post: description: Attach a category to a specific post. operationId: create-post-category parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post requestBody: content: application/json: schema: $ref: "#/components/schemas/Category-attach" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/Category-show" "422": description: Not found or bad request content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" security: - AdminAPIToken: [] summary: Attach a category to a post tags: - Posts /posts/{post_id}/categories/{category_id}: delete: description: Detach a category from a specific post. operationId: delete-post-category parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post - name: category_id in: path required: true schema: type: integer example: 1 description: UID of a category responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Status" "404": description: Not found content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" security: - AdminAPIToken: [] summary: Detach a category from a post tags: - Posts /posts/{post_id}/tags: get: description: List all tags associated with a specific post. operationId: list-post-tags parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Tag-index" security: - AdminAPIToken: [] summary: List tags for a post tags: - Posts post: description: Attach a tag to a specific post. operationId: create-post-tag parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post requestBody: content: application/json: schema: $ref: "#/components/schemas/Tag-attach" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/Tag-show" "422": description: Not found or bad request content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" security: - AdminAPIToken: [] summary: Attach a tag to a post tags: - Posts /posts/{post_id}/tags/{tag_id}: delete: description: Detach a tag from a specific post. operationId: delete-post-tag parameters: - name: post_id in: path required: true schema: type: integer example: 1 description: UID of a post - name: tag_id in: path required: true schema: type: integer example: 1 description: UID of a tag responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Status" "404": description: Not found content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" security: - AdminAPIToken: [] summary: Detach a tag from a post tags: - Posts /apps/{app_id}/custom_credentials: get: summary: List Custom Credentials description: Retrieve a list of custom credentials for a specific application. tags: - Applications and credentials parameters: - name: app_id in: path required: true description: The ID of the application. schema: type: string responses: '200': description: A list of custom credentials content: application/json: schema: $ref: '#/components/schemas/CustomCredential-index' security: - AdminAPIToken: [] post: summary: Create a Custom Credential description: Create a new custom credential for a specific application. tags: - Applications and credentials parameters: - name: app_id in: path required: true description: The ID of the application. schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomCredential-create' responses: '201': description: Custom credential created successfully content: application/json: schema: $ref: '#/components/schemas/CustomCredential-show' "422": description: Validator error content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" security: - AdminAPIToken: [] /apps/{app_id}/custom_credentials/{credential_id}: get: summary: Get a Custom Credential description: Retrieve a specific custom credential by its ID. tags: - Applications and credentials parameters: - name: app_id in: path required: true description: The ID of the application. schema: type: string - name: credential_id in: path required: true description: The ID of the custom credential. schema: type: string responses: '200': description: Custom credential details content: application/json: schema: $ref: '#/components/schemas/CustomCredential-show' security: - AdminAPIToken: [] put: summary: Update a Custom Credential description: Update an existing custom credential for a specific application. tags: - Applications and credentials parameters: - name: app_id in: path required: true description: The ID of the application. schema: type: string - name: credential_id in: path required: true description: The ID of the custom credential. schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomCredential-update' responses: '200': description: Custom credential updated successfully content: application/json: schema: $ref: '#/components/schemas/CustomCredential-show' "422": description: Validator error content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" security: - AdminAPIToken: [] delete: summary: Delete a Custom Credential description: Delete a specific custom credential for a specific application. tags: - Applications and credentials parameters: - name: app_id in: path required: true description: The ID of the application. schema: type: string - name: credential_id in: path required: true description: The ID of the custom credential. schema: type: string responses: '200': description: Custom credential deleted successfully content: application/json: schema: $ref: '#/components/schemas/StatusWithMessage' # Updated to return StatusWithMessage security: - AdminAPIToken: [] /sso_profiles: get: description: List all SSO profiles operationId: list-sso-profiles responses: "200": content: application/json: schema: type: array items: $ref: "#/components/schemas/SSOProfile-index" description: OK security: - AdminAPIToken: [] summary: List all SSO profiles tags: - SSO Profiles post: description: Create a new SSO profile operationId: create-sso-profile requestBody: content: application/json: schema: $ref: "#/components/schemas/SSOProfile-response" required: true responses: "201": description: Created "400": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Bad request security: - AdminAPIToken: [] summary: Create a new SSO profile tags: - SSO Profiles /sso_profiles/{profile_id}: get: description: Get an SSO profile by ID operationId: get-sso-profile parameters: - description: ID of the SSO profile in: path name: profile_id required: true schema: type: string example: ldap_dev responses: "200": content: application/json: schema: $ref: "#/components/schemas/SSOProfile-response" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Profile not found security: - AdminAPIToken: [] summary: Get an SSO profile tags: - SSO Profiles put: description: Update an existing SSO profile operationId: update-sso-profile parameters: - description: ID of the SSO profile in: path name: profile_id required: true schema: type: string example: ldap_dev requestBody: content: application/json: schema: $ref: "#/components/schemas/SSOProfile-response" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/SSOProfile-response" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Profile not found security: - AdminAPIToken: [] summary: Update an SSO profile tags: - SSO Profiles delete: description: Delete an SSO profile operationId: delete-sso-profile parameters: - description: ID of the SSO profile in: path name: profile_id required: true schema: type: string example: ldap_dev responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Profile not found security: - AdminAPIToken: [] summary: Delete an SSO profile tags: - SSO Profiles /products/{product_id}/spec-details/{spec-id}: get: description: Get description of a Specification operationId: get-spec-details parameters: - description: ID of the Specification in: path name: spec-id required: true schema: type: integer example: 1 - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/SpecDetail-index-elem" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found security: - AdminAPIToken: [] summary: Get description of a Specification tags: - API documentation for API Products put: description: Update description of a Specification including name, OAS URL and alias operationId: update-spec-details parameters: - description: ID of the Specification in: path name: spec-id required: true schema: type: integer example: 1 - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 requestBody: content: application/json: schema: type: object properties: SpecAlias: type: string example: "payment_api" OASUrl: type: string format: uri example: "https://petstore.swagger.io/v2/swagger.json" Name: type: string example: "Payment API Documentation" responses: "200": content: application/json: schema: $ref: "#/components/schemas/SpecDetail-index-elem" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found security: - AdminAPIToken: [] summary: Update description of a Specification tags: - API documentation for API Products delete: description: Delete a specification from this Documentation Product operationId: delete-spec-details parameters: - description: ID of the Specification in: path name: spec-id required: true schema: type: integer example: 1 - description: UID of an API Product in: path name: product_id required: true schema: type: integer example: 1 responses: "200": content: application/json: schema: $ref: "#/components/schemas/Status" description: OK "404": content: application/json: schema: $ref: "#/components/schemas/OnlyErrors" description: Not found security: - AdminAPIToken: [] summary: Delete a specification tags: - API documentation for API Products /products/{product_id}/spec-details/{spec-id}/oas: get: description: Download an OAS spec as a file for a specific Specification in a Documentation Product operationId: get-spec-oas parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: spec-id in: path schema: type: integer example: 1 required: true description: ID of the Specification responses: "200": content: application/x-yaml: schema: type: string description: OK "422": content: application/json: schema: type: string example: no oas specified description: Not found or Bad Request security: - AdminAPIToken: [] summary: Download OAS file of a Specification tags: - API documentation for API Products post: description: Upload an OAS file for a Specification inside a Documentation Product operationId: upload-spec-oas parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: spec-id in: path schema: type: integer example: 1 required: true description: ID of the Specification requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: oas spec file responses: "200": description: OK security: - AdminAPIToken: [] summary: Upload OAS file of a Specification tags: - API documentation for API Products delete: description: Remove OAS file from a Specification operationId: delete-spec-oas parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: spec-id in: path schema: type: integer example: 1 required: true description: ID of the Specification responses: "200": description: OK security: - AdminAPIToken: [] summary: Delete OAS file of a Specification tags: - API documentation for API Products /products/{product_id}/api-details/{api_id}/graphql/schema: get: description: Download a GraphQL schema file for a specific API in a Product operationId: get-graphql-schema parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: api_id in: path schema: type: string example: a0ce49d559ce49d64fe608ea3728082a required: true description: UID of an API as it comes from the API Provider responses: "200": content: application/graphql: schema: type: string application/json: schema: type: string description: OK "422": content: application/json: schema: type: string example: no graphql schema specified description: Not found or Bad Request security: - AdminAPIToken: [] summary: Download GraphQL schema file of an API tags: - API documentation for API Products post: description: Upload a GraphQL schema file for an API inside an API Product operationId: upload-graphql-schema parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: api_id in: path schema: type: string example: a0ce49d559ce49d64fe608ea3728082a required: true description: UID of an API as it comes from the API Provider - name: dry_run in: query schema: type: boolean default: false required: false description: If true, only validates the file without saving it requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: GraphQL schema file (.graphql, .gql, or .json) - only 1 file at a time responses: "200": description: OK "400": content: application/json: schema: type: string example: invalid file format, multiple files uploaded, or validation failed description: Bad Request - Invalid file format, multiple files uploaded, or validation failed security: - AdminAPIToken: [] summary: Upload GraphQL schema file of an API tags: - API documentation for API Products delete: description: Remove GraphQL schema file from an API operationId: delete-graphql-schema parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: api_id in: path schema: type: string example: a0ce49d559ce49d64fe608ea3728082a required: true description: UID of an API as it comes from the API Provider responses: "200": description: OK security: - AdminAPIToken: [] summary: Delete GraphQL schema file of an API tags: - API documentation for API Products /products/{product_id}/spec-details/{spec-id}/graphql/schema: get: description: Download a GraphQL schema file for a specific Specification in a Documentation Product operationId: get-spec-graphql-schema parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: spec-id in: path schema: type: integer example: 1 required: true description: ID of the Specification responses: "200": content: application/graphql: schema: type: string application/json: schema: type: string description: OK "422": content: application/json: schema: type: string example: no graphql schema specified description: Not found or Bad Request security: - AdminAPIToken: [] summary: Download GraphQL schema file of a Specification tags: - API documentation for API Products put: description: Upload a GraphQL schema file for a Specification inside a Documentation Product operationId: upload-spec-graphql-schema parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: spec-id in: path schema: type: integer example: 1 required: true description: ID of the Specification - name: dry_run in: query schema: type: boolean default: false required: false description: If true, only validates the file without saving it requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: GraphQL schema file (.graphql, .gql, or .json) - only 1 file at a time responses: "200": description: OK "400": content: application/json: schema: type: string example: invalid file format, multiple files uploaded, or validation failed description: Bad Request - Invalid file format, multiple files uploaded, or validation failed security: - AdminAPIToken: [] summary: Upload GraphQL schema file of a Specification tags: - API documentation for API Products delete: description: Delete a Specification that contains a GraphQL schema. This removes the entire SpecDetails object. operationId: delete-spec-graphql-schema parameters: - name: product_id in: path schema: type: integer required: true description: UID of an API Product - name: spec-id in: path schema: type: integer example: 1 required: true description: ID of the Specification responses: "200": description: OK security: - AdminAPIToken: [] summary: Delete Specification with GraphQL schema tags: - API documentation for API Products /products/{product_id}/spec-details/graphql/schema: post: summary: "Upload GraphQL SDL for Documentation Product" description: > Upload and link a GraphQL SDL file to a documentation-only product. The uploaded file must be a valid GraphQL schema (with extension `.graphql`, `.gql`, or `.json`) and is stored as the latest schema for the product. Only works for documentation-only products. operationId: upload-product-graphql-schema parameters: - name: product_id in: path required: true schema: type: integer description: UID of a documentation-only product - name: dry_run in: query schema: type: boolean default: false required: false description: If true, only validates the file without saving it requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: GraphQL SDL file to upload (.graphql, .gql, or .json) - only 1 file at a time responses: '200': description: GraphQL schema uploaded and spec created content: application/json: schema: $ref: '#/components/schemas/SpecDetail-create' '400': description: Invalid file, multiple files uploaded, or non-documentation product content: application/json: schema: $ref: '#/components/schemas/OnlyErrors' '404': description: Product not found content: application/json: schema: $ref: '#/components/schemas/OnlyErrors' '413': description: Uploaded file too large content: application/json: schema: $ref: '#/components/schemas/OnlyErrors' '422': description: Invalid GraphQL SDL (syntax/semantics) content: application/json: schema: $ref: '#/components/schemas/OnlyErrors' tags: - API documentation for API Products components: schemas: Product-APIDetail-index: properties: APIID: type: string description: API ID from the Tyk Gateway example: a0ce49d559ce49d64fe608ea3728082a Name: type: string description: Name of an API as it is defined in the gateway example: Payment API Status: type: boolean description: >- Status of this API: `true` means the API is up and `false` identifies that it is down example: true type: object Product-APIDetail-edit: properties: Description: type: string description: Human-readable description of an API added by the portal admins example: This API provides payment endpoints OASUrl: type: string description: >- URL of OpenAPI Specification for this API. The document must be a valid OAS document example: https://petstore.swagger.io/v2/swagger.json type: object Product-APIDetail: properties: APIID: type: string description: API ID from the Tyk Gateway example: a0ce49d559ce49d64fe608ea3728082a APIType: type: string description: Authentication type of an API example: authToken Description: type: string description: Human-readable description of an API added by the portal admins example: This API provides payment endpoints ListenPath: type: string description: Listen path which is defined for this API in the gateway example: /payments/ Name: type: string description: Name of an API as it is defined in the gateway example: Payment API OASUrl: type: string description: >- URL of OpenAPI Specification for this API. The document must be a valid OAS document example: https://petstore.swagger.io/v2/swagger.json Status: type: boolean description: >- Status of this API: `true` means the API is up and `false` identifies that it is down example: true TargetURL: type: string description: Upstream URL of this API example: http://httpbin.org/ type: object APIDetail: properties: APIType: type: string description: Authentication type of an API example: authToken Description: type: string description: Human-readable description of an API added by the portal admins example: This API provides payment endpoints ListenPath: type: string description: Listen path which is defined for this API in the gateway example: /payments/ Name: type: string description: Name of an API as it is defined in the gateway example: Payment API OASUrl: type: string description: >- URL of OpenAPI Specification for this API. The document must be a valid OAS document example: https://petstore.swagger.io/v2/swagger.json Status: type: boolean description: >- Status of this API: `true` means the API is up and `false` identifies that it is down example: true TargetURL: type: string description: Upstream URL of this API example: http://httpbin.org/ type: object APIDetail-create: properties: APIID: type: string description: API ID from the Tyk Gateway example: a0ce49d559ce49d64fe608ea3728082a APIType: type: string description: Authentication type of an API example: authToken Description: type: string description: Human-readable description of an API added by the portal admins example: This API provides payment endpoints ListenPath: type: string description: Listen path which is defined for this API in the gateway example: /payments/ Name: type: string description: Name of an API as it is defined in the gateway example: Payment API OASUrl: type: string description: >- URL of OpenAPI Specification for this API. The document must be a valid OAS document example: https://petstore.swagger.io/v2/swagger.json Status: type: boolean description: >- Status of this API: `true` means the API is up and `false` identifies that it is down example: true TargetURL: type: string description: Upstream URL of this API example: http://httpbin.org/ type: object APIDetail-index: items: $ref: "#/components/schemas/APIDetail-index-elem" type: array APIDetail-index-elem: properties: APIID: type: string description: API ID from the Tyk Gateway example: a0ce49d559ce49d64fe608ea3728082a APIType: type: string description: Authentication type of an API example: authToken ListenPath: type: string description: Listen path which is defined for this API in the gateway example: /payments/ Name: type: string description: Name of an API as it is defined in the gateway example: Payment API OASUrl: type: string description: >- URL of OpenAPI Specification for this API. The document must be a valid OAS document example: https://petstore.swagger.io/v2/swagger.json Status: type: boolean description: >- Status of this API: `true` means the API is up and `false` identifies that it is down example: true TargetURL: type: string description: Upstream URL of this API example: http://httpbin.org/ type: object APIDetail-show: properties: APIID: type: string description: API ID from the Tyk Gateway example: a0ce49d559ce49d64fe608ea3728082a APIType: type: string description: Authentication type of an API example: authToken Description: type: string description: Human-readable description of an API added by the portal admins example: This API provides payment endpoints ListenPath: type: string description: Listen path which is defined for this API in the gateway example: /payments/ Name: type: string description: Name of an API as it is defined in the gateway example: Payment API OASUrl: type: string description: >- URL of OpenAPI Specification for this API. The document must be a valid OAS document example: https://petstore.swagger.io/v2/swagger.json Status: type: boolean description: >- Status of this API: `true` means the API is up and `false` identifies that it is down example: true TargetURL: type: string description: Upstream URL of this API example: http://httpbin.org/ type: object APIDetail-update: properties: Description: type: string description: Human-readable description of an API added by the portal admins example: This API provides payment endpoints Name: type: string description: Name of an API as it is defined in the gateway example: Payment API OASUrl: type: string description: >- URL of OpenAPI Specification for this API. The document must be a valid OAS document example: https://petstore.swagger.io/v2/swagger.json Status: type: boolean description: >- Status of this API: `true` means the API is up and `false` identifies that it is down example: true type: object AccessRequest-basic-elem: allOf: - $ref: "#/components/schemas/AccessRequest-basic" - type: object properties: Products: type: string description: Names of products included in this access request example: Payment API AccessRequest-basic-index: items: $ref: "#/components/schemas/AccessRequest-basic-elem" type: array AccessRequest-index-elem: allOf: - $ref: "#/components/schemas/AccessRequest-basic" - type: object properties: Products: type: string description: Names of products included in this access request example: Payment API Credentials: items: $ref: "#/components/schemas/Credential" type: array type: object AccessRequest-internal: properties: Catalogue: type: string description: Catalogue of API Products included in this access request example: Public Catalogue Client: type: string description: Name of the developer app example: Payment application CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this access request was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this access request was updated the last time example: 2023-06-25 13:37 DeletedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this access request was removed example: 2023-06-25 13:37 Plan: type: string description: Name of a plan included in this access request example: Free plan User: type: string description: Descriptor of a user to whom this access request belongs example: User#1 type: object AccessRequest-show: allOf: - $ref: "#/components/schemas/AccessRequest-internal" - type: object properties: Products: type: string description: Names of products included in this access request example: Payment API Credentials: items: $ref: "#/components/schemas/Credential" type: array AccessRequest-basic: allOf: - $ref: "#/components/schemas/AccessRequest-internal" - type: object properties: AuthType: type: string description: >- Authentication type of APIs that are included in this API Product example: authToken DCREnabled: type: boolean description: >- Identifies if this access request was created using Dynamic client registration example: false ID: type: integer description: UID of access request example: 1 ProvisionImmediately: type: boolean description: Identifies if this access request was approved automatically example: true Status: enum: - approved - rejected - pending description: Approval status of this access request AccessRequest-index: type: array items: $ref: "#/components/schemas/AccessRequest-index-elem" Client-AccessRequest-index: type: array items: $ref: "#/components/schemas/Client-AccessRequest-elem" Client-AccessRequest-elem: allOf: - $ref: "#/components/schemas/AccessRequest-basic" - type: object properties: Products: type: array items: type: string description: Name of a product that is included in this access request example: Payment API description: Names of products that are included in this access request Credentials: items: $ref: "#/components/schemas/Credential" type: array description: Credentials that are issued with access request type: object Base: properties: Crop: type: boolean CropOptions: type: object Delete: type: boolean FileHeader: {} FileName: type: string Options: type: object Reader: {} Url: type: string type: object Basic: properties: ConfirmedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string EncryptedPassword: type: string Provider: type: string UID: type: string UserID: type: string type: object BlogSetting: properties: AllowFormSubmission: type: boolean Enable: type: boolean type: object Catalogue-create: properties: Name: type: string description: Name of this catalogue example: Private catalogue NameWithSlug: type: string description: URL slug of this catalogue page example: private-catalogue Plans: items: type: integer description: UID of a plan which should be included into this catalogue example: 1 type: array description: Array of plans' UIDs which should be included into this catalogue Products: items: type: integer description: UID of a product which should be included into this catalogue example: 1 type: array description: Array of products' UIDs which should be included into this catalogue VisibilityStatus: enum: - Private - Public description: >- Visibility of this catalogue. Could be either Private or Public. The `Private` status means this catalogue is visible only to a limited audience while `Public` catalogue is available to all developers example: Private OrgCatalogues: items: $ref: "#/components/schemas/OrganisationCatalogue-create" type: array type: object Catalogue-index: items: $ref: "#/components/schemas/Catalogue-index-elem" type: array Catalogue-index-elem: properties: ID: type: integer description: UID of this catalogue example: 1 Name: type: string description: Name of this catalogue example: Private Catalogue NameWithSlug: type: string description: URL slug of this catalogue page example: private-catalogue VisibilityStatus: enum: - Private - Public description: >- Visibility of this catalogue. Could be either Private or Public. The `Private` status means this catalogue is visible only to a limited audience while `Public` catalogue is available to all developers example: Private type: object Catalogue-show: properties: ID: type: integer description: UID of a catalogue example: 1 Name: type: string description: Name this catalogue example: Private Catalogue CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this catalogue was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this catalogue was updated the last time example: 2023-06-25 13:37 OrgCatalogues: items: $ref: "#/components/schemas/OrganisationCatalogue" type: array Plans: items: type: string description: Name of a plan example: Free plan type: array description: Plans that are included into this catalogue Products: items: type: string description: Name of a product example: ACME Payment API type: array description: Products that are included into this catalogue VisibilityStatus: enum: - Private - Public description: >- Visibility of this catalogue. Could be either Private or Public. The `Private` status means this catalogue is visible only to a limited audience while `Public` catalogue is available to all developers example: Private type: object Catalogue-update: properties: Name: type: string description: Name of this catalogue example: Private catalogue NameWithSlug: type: string description: URL slug of this catalogue page example: private-catalogue Plans: items: type: integer description: UID of a plan which should be included into this catalogue example: 1 type: array description: >- Array of plans' UIDs which should be included into this catalogue. To remove all plans from a catalogue use `null` value for this property Products: items: type: integer description: UID of a product which should be included into this catalogue example: 1 type: array description: >- Array of products' UIDs which should be included into this catalogue. To remove all product from a catalogue use `null` value for this property VisibilityStatus: enum: - Private - Public description: >- Visibility of this catalogue. Could be either Private or Public. The `Private` status means this catalogue is visible only to a limited audience while `Public` catalogue is available to all developers example: Private type: object Certificate: properties: CertFile: type: string example: portal.crt KeyFile: type: string example: portal.key Name: type: string example: localhost type: object Client-basic: properties: Name: type: string description: Name of this application example: Payment App Description: type: string description: Human-readable description of this application example: This is my payment application RedirectURLs: type: string description: Redirect URL for OAuth2.0 authorization_code and PKCE grant types example: https://app-host/auth UserID: type: integer description: UID of a user to whom this application will belong example: 1 Visibility: type: string description: >- Controls who can access this application. Options are: `personal` (visible only to you), `team` (shared with your team), and `organisation` (accessible to all members of your organisation). enum: - personal - team - organisation example: personal default: organisation type: object Client-ID-attributes: properties: ID: type: integer description: UID of this app example: 1 CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this application was created example: 2023-06-25 13:37 type: object Client-index: items: $ref: "#/components/schemas/Client-index-elem" type: array Client-index-elem: allOf: - $ref: "#/components/schemas/Client-basic" - $ref: "#/components/schemas/Client-ID-attributes" Client-show: allOf: - $ref: "#/components/schemas/Client-basic" - $ref: "#/components/schemas/Client-ID-attributes" - type: object properties: AccessRequests: items: $ref: "#/components/schemas/Client-AccessRequest-index" type: array Theme-upload: type: object properties: file: type: string format: binary description: zip archive containing theme Theme-upload-response: type: string description: Upload status example: File uploaded successfully Theme-index: items: $ref: "#/components/schemas/Theme-basic" type: array Theme-basic: properties: Author: type: string description: "`author` field from the `theme.json` file of the theme" example: Tyk Technologies Ltd.Everything would be better connected, but the internet is messy, imperfect and unpredictable.
\n\t\t\t\tOur engineers are dedicated to making it simple, fast and affordable to connect every system in the world.
\n\t\t\t\tWe ensure you can trust our systems to look after yours.
" Name: type: string description: >- Name of the content block. In order to succeesfully render this page, `name` should with a reference in the template for this page. For instance, HeaderDescription will be rendered in {{safe .blocks.HeaderDescription.Content}} section of the template example: HeaderDescription type: object ContentBlock-create: properties: Content: type: string description: Content of this content block example: "Everything would be better connected, but the internet is messy, imperfect and unpredictable.
\n\t\t\t\tOur engineers are dedicated to making it simple, fast and affordable to connect every system in the world.
\n\t\t\t\tWe ensure you can trust our systems to look after yours.
" Name: type: string description: >- Name of the content block. In order to succeesfully render this page, `name` should with a reference in the template for this page. For instance, HeaderDescription will be rendered in {{safe .blocks.HeaderDescription.Content}} section of the template example: HeaderDescription type: object ContentBlock-index: items: $ref: "#/components/schemas/ContentBlock-index-elem" type: array ContentBlock-index-elem: allOf: - $ref: "#/components/schemas/ContentBlock-basic" - type: object properties: ID: description: UID of the content block type: integer example: 1 PageID: type: integer description: UID of a page where the content block belong example: 1 ContentBlock-show: properties: CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this catalogue was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this catalogue was updated the last time example: 2023-06-25 13:37 ID: description: UID of the content block type: integer example: 1 type: object Credential: properties: AccessRequest: type: string description: Access request description example: AccessRequest#2 Credential: type: string description: >- Auth token from the Tyk API Gateway. For OAuth2.0 credentials it's an empty string example: >- eyJvcmciOiI1ZTlkOTU0NGExZGNkNjAwMDFkMGVkMjAiLCJpZCI6IjY4MjZjZGViMmVlMzQ3ZGQ5ZjQ1ZWZmMjEyMTlhOWU1IiwiaCI6Im11cm11cjY0In0= CredentialHash: type: string description: >- Hash of an auth token from the Tyk API Gateway. For OAuth2.0 credentials it's an empty string example: e1212449778b7ba4 DCRRegistrationAccessToken: type: string description: >- Access token for Dynamic client registration that is associated with credentials. Has non-empty value only for OAuth2.0 credentials example: >- eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmZjIyNmYyZi0yMDA0LTRlOWItOTFmOC1iOGYzOTA2ZDJmYTQifQ.eyJleHAiOjAsImlhdCI6MTY4NzczNzM5MCwianRpIjoiNjc3OTgwYjktZjgwMS00MmQ2LWI4OTItZDdkNDk1MmFhMjU5IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo5OTk5L3JlYWxtcy9tYXN0ZXIiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0Ojk5OTkvcmVhbG1zL21hc3RlciIsInR5cCI6IlJlZ2lzdHJhdGlvbkFjY2Vzc1Rva2VuIiwicmVnaXN0cmF0aW9uX2F1dGgiOiJhdXRoZW50aWNhdGVkIn0.wyE93vktqlCywgtyJ8HBTjRPG9NvZEDR3zpSMncdwno DCRRegistrationClientURI: type: string description: >- DCR client registration URI that is associated with credentials. Has non-empty value only for OAuth2.0 credentials example: >- http://idp-host/realms/master/clients-registrations/openid-connect/cf4ab76c-c437-4ba2-8e94-1323269b5090 DCRResponse: type: string description: >- Cached client registration response from the Identity Provider. Has non-empty value only for OAuth2.0 credentials example: >- {"redirect_uris":["http://app-host/auth"],"token_endpoint_auth_method":"client_secret_basic","grant_types":["implicit","client_credentials"],"response_types":["id_token","id_token token"],"client_id":"cf4ab76c-c437-4ba2-8e94-1323269b5090","client_secret":"iDe9fkFNBDbVS5JOtYNUDIO8w8N6dWzf","client_name":"OAuth2.0 client","scope":"address phone offline_access microprofile-jwt","subject_type":"public","request_uris":[],"tls_client_certificate_bound_access_tokens":false,"client_id_issued_at":1687737390,"client_secret_expires_at":0,"registration_client_uri":"http://idp-host/realms/master/clients-registrations/openid-connect/cf4ab76c-c437-4ba2-8e94-1323269b5090","registration_access_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmZjIyNmYyZi0yMDA0LTRlOWItOTFmOC1iOGYzOTA2ZDJmYTQifQ.eyJleHAiOjAsImlhdCI6MTY4NzczNzM5MCwianRpIjoiNjc3OTgwYjktZjgwMS00MmQ2LWI4OTItZDdkNDk1MmFhMjU5IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo5OTk5L3JlYWxtcy9tYXN0ZXIiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0Ojk5OTkvcmVhbG1zL21hc3RlciIsInR5cCI6IlJlZ2lzdHJhdGlvbkFjY2Vzc1Rva2VuIiwicmVnaXN0cmF0aW9uX2F1dGgiOiJhdXRoZW50aWNhdGVkIn0.wyE93vktqlCywgtyJ8HBTjRPG9NvZEDR3zpSMncdwno","backchannel_logout_session_required":false,"require_pushed_authorization_requests":false,"frontchannel_logout_session_required":false} Expires: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string example: 1969-12-31 19:00 description: Date-time when this credential expires OAuthClientID: type: string description: >- OAuth2.0 client ID. Has non-empty value only for OAuth2.0 credentials example: cf4ab76c-c437-4ba2-8e94-1323269b5090 OAuthClientSecret: type: string description: >- OAuth2.0 client secret. Has non-empty value only for OAuth2.0 credentials example: iDe9fkFNBDbVS5JOtYNUDIO8w8N6dWzf RedirectURI: type: string description: Redirect URI for OAuth2.0 authorization_code and PKCE grant types example: https://app-host/auth ResponseType: type: string description: >- Response types supported by this credential. Has non-empty value only for OAuth2.0 credentials example: id_token token Scope: type: string description: >- OAuth2.0 scope available to this credential. Has non-empty value only for OAuth2.0 credentials example: payment client TokenEndpoints: type: string description: >- OAuth2.0 `token_endpoint_auth_method` that this credential uses. Has non-empty value only for OAuth2.0 credentials example: payment client type: object Credential-index: items: $ref: "#/components/schemas/Credential-index-elem" type: array Credential-index-elem: allOf: - $ref: "#/components/schemas/Credential" - type: object properties: GrantType: type: string description: >- OAuth2.0 Grant types which is associated with this credential. Has non-empty value only for OAuth2.0 credentials example: client_credetials ID: type: integer example: 1 description: UID of this credential DatabaseSetting: properties: ConnectionString: type: string example: por....db description: >- Connection string to the portal's database. May hold secure secrets, therefore it's masked Dialect: type: string enum: - "`sqlite3`" - "`mysql`" - "`postgres`" description: Database dialect of the portal's database EnableLogs: type: boolean description: Defines if the portal should write connection logs to the database MaxRetries: type: integer description: Max retries when establishing connection to the database example: 3 default: 3 RetryDelay: type: integer description: >- Delay between connection retries when establishing connection to the database. Measured in milliseconds example: 5000 default: 5000 type: object Organisation-create: properties: Name: type: string description: Name of an organisation example: Default Organisation type: object Organisation-index: items: $ref: "#/components/schemas/Organisation-index-elem" type: array Organisation-index-elem: properties: ID: type: integer description: UID of an organisation example: 1 Name: type: string description: Name of an organisation example: Default Organisation type: object Organisation-show: properties: CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when a user is created example: 2023-06-23 21:02 type: string UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when a user is updated the last time example: 2023-06-23 21:02 type: string ID: type: integer description: UID of an organisation example: 1 Name: type: string description: Name of an organisation example: Default Organisation Teams: items: $ref: "#/components/schemas/Team-index-elem" type: array description: Teams included in this organisation Users: type: array description: >- Users that are included in this organisation. For newly created organisation this field will be an empty array items: $ref: "#/components/schemas/User-index-elem" type: object OrganisationCatalogue: properties: Catalogue: type: string description: Name of a catalogue example: Private catalogue ID: type: integer description: UID of this audience example: 1 Name: type: string description: Optional name of this audience Organisation: type: string description: Name of an organisation example: Default organisation type: object OrganisationCatalogue-create: properties: OrganisationID: type: integer description: UID of an organisation example: 1 TeamID: type: integer description: UID of a team example: 1 type: object OrganisationCatalogue-index: items: $ref: "#/components/schemas/OrganisationCatalogue-index-elem" type: array OrganisationCatalogue-index-elem: properties: ID: type: integer description: UID of this audience example: 1 OrganisationID: type: integer description: UID of an organisation example: 1 TeamID: type: integer description: UID of an team example: 1 type: object OrganisationCatalogue-show: properties: ID: type: integer description: UID of this audience example: 1 OrganisationID: type: integer description: UID of this audience example: 1 TeamID: type: integer description: UID of this audience example: 1 CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when this audience is created example: 2023-06-23 21:02 type: string UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when this audience is updated the last time example: 2023-06-23 21:02 type: string type: object Page-index: items: $ref: "#/components/schemas/Page-index-elem" type: array Page-basic: properties: AllowFormSubmission: type: boolean description: dsf example: false PageTypeID: type: integer Path: type: string description: Path to this page example: /about-us Status: type: string description: Path to this page example: /about-us Template: type: string description: >- Name of templates that is used by this page. Value of this property must match one of template names in `theme.json` example: home Title: type: string description: Title of the page example: About Tyk Portal type: object Page-index-elem: allOf: - $ref: "#/components/schemas/Page-basic" - type: object properties: ID: type: integer description: UID of this page example: 1 Page-show: allOf: - $ref: "#/components/schemas/Page-basic" - type: object properties: ID: type: integer description: UID of this page example: 1 CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this access request was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this access request was updated the last time example: 2023-06-25 13:37 Plan-index: type: object properties: data: type: array items: $ref: "#/components/schemas/PlanSummary" Plan: allOf: - $ref: "#/components/schemas/PlanRequest" - type: object properties: ID: type: integer description: Unique identifier of the plan example: 1 ReferenceID: type: string description: Reference ID of the plan in the provider system example: "6490fd451ba6a6000108864e" PlanRequest: type: object properties: CID: type: string description: Client ID for the plan example: "2r7p8aUnkzby17hCJk8w2XvK3K6" AutoApproveAccessRequests: type: boolean description: Whether access requests are automatically approved example: true Catalogues: type: array description: List of catalogue IDs this plan belongs to items: type: integer example: [1] DisplayName: type: string description: Display name of the plan example: "Free plan" Description: type: string description: Description of the plan example: "Free plan offers only basic functionality" JWTScope: type: string description: JWT scope for the plan example: "free-plan" KeyExpiresIn: type: integer description: Key expiration time in seconds example: 3600 MetaData: type: object description: Additional metadata for the plan example: data1: "1" data2: "2" additionalProperties: true Name: type: string description: Name of the plan example: "free_plan_2" Per: type: number description: Time period for rate limiting in seconds example: 10 PlanQuota: type: integer description: Plan quota value example: 2 PlanQuotaRenewalRate: type: integer description: Plan quota renewal rate in seconds example: 3600 Quota: type: integer description: Quota value example: 0 QuotaRenewalRate: type: integer description: Quota renewal rate in seconds example: -1 RateLimit: type: number description: Rate limit for the plan example: 5 UnlimitedQuota: type: boolean description: Whether the plan has unlimited quota example: true UnlimitedRateLimit: type: boolean description: Whether the plan has unlimited rate limit example: false ProviderID: type: integer description: ID of the provider example: 1 required: - Name - ProviderID PlanSummary: type: object properties: ID: type: integer description: Unique identifier of the plan example: 1 Name: type: string description: Name of the plan example: "free_plan_2" DisplayName: type: string description: Display name of the plan example: "Free plan" AutoApproveAccessRequests: type: boolean description: Whether access requests are automatically approved example: true RateLimit: type: number description: Rate limit for the plan example: 5 Quota: type: integer description: Quota for the plan example: 0 Plan-show: properties: AuthType: type: string Catalogues: type: array items: type: string example: Public Catalogue description: Name of a catalogue description: Array of names of catalogues in which this API Product is published AutoApproveAccessRequests: type: boolean description: Defines if access requests with this plan are approved automatically example: true DisplayName: type: string description: Name of this plan that is displayed to API Consumers example: Free plan Name: type: string description: Name of this plan how it comes from the API Provider example: Free plan Description: type: string description: Human-readable description of this plan example: Free plan offers only basic functionality ReferenceID: type: string description: ID of this plan how it comes from the API Provider example: 6490fd451ba6a6000108864e Quota: type: string description: >- Quota of API calls available to customers using this plan as it is defined in the API Provider example: unlimited RateLimit: type: string description: Ratelimit as it is defined in the API Provider example: 1000 calls / 1 minute(s) ID: type: integer description: UID of this plan example: 1 JWTScope: type: string description: >- OAuth2.0 scopes that will be assigned to OAuth2.0 clients that use this plan. Should be comma-separated string example: free-plan type: object Post-create: properties: Content: type: string description: Full content of the post example: "# Title\r\n## Subtitle\r\nContent goes here" MarkdownEnabled: type: boolean description: Whether Markdown is enabled for this post example: true Status: enum: - published - draft - review description: Status of the post (e.g., draft, published) example: published type: string Title: type: string description: Title of the post example: Get started this API Product Lede: type: string description: Short summary or lead paragraph of the post Path: type: string description: URL path for the post Categories: type: array description: List of category IDs to associate with the post items: type: string Tags: type: array description: List of tag IDs to associate with the post items: type: string MarkdownContent: type: string description: Content of the post in Markdown format, if Markdown is enabled PreviewContent: type: string description: Preview content of the post type: object Post-index: items: $ref: "#/components/schemas/Post-index-elem" type: array Post-index-elem: properties: ID: type: integer description: Unique identifier for the post example: 1 Content: type: string description: >- Content of this tutorial page. If `MarkdownEnabled` is true then content of this tutorial page is treated as Markdown text and as HTML otherwise example: "# Title\r\n## Subtitle\r\nContent goes here" MarkdownEnabled: type: boolean description: Switches content between Markdown and HTML versions example: true Status: enum: - published - draft - review description: Status of the post (e.g., draft, published) example: published type: string Title: type: string description: Title of the post example: Get started this API Product Lede: type: string description: Short summary or lead paragraph of the post Type: type: string description: Type of the post (e.g., article, news) Path: type: string description: URL path for the post Categories: type: array description: List of categories associated with the post items: type: string Tags: type: array description: List of tags associated with the post items: type: string CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this post was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this post was last updated example: 2023-06-25 13:37 type: object Post-reorder: type: array items: type: integer example: 1 description: UID of a doc page Product-index: items: $ref: "#/components/schemas/Product-index-elem" type: array Product-index-elem: properties: APIDetails: items: $ref: "#/components/schemas/Product-APIDetail-index" type: array AuthType: type: string DCREnabled: type: boolean DisplayName: type: string Feature: type: boolean Name: type: string Path: type: string ReferenceID: type: string type: object Product-show: type: object properties: ID: type: integer description: UID of this API Product example: 2 APIDetails: items: $ref: "#/components/schemas/Product-APIDetail" type: array description: APIs included in this API Product AuthType: type: string description: Authentication type of APIs that are included in this API Product example: authToken Catalogues: type: array description: Catalogues in which this API Product is listed items: type: string description: Catalogue name example: Public Catalogue CID: type: string description: Client ID for this API Product example: "2r7p8aUnkzby17hCJk8w2XvK3K6" Content: type: string description: >- Marketing description of an API Product formated as HTML text fragment example:Description goes here
DCREnabled: type: boolean description: >- Defines if Dynamic Client Registration is enabled for this API Product example: true Description: type: string description: >- Short description of this API Product which is displayed in the Catalogue page example: Description goes here DisplayName: type: string description: >- Name of an API Product that is displayed in the API Product Details and Catalogue pages example: ACME Payment API Feature: type: boolean description: >- Defines if this product should be featured on the home page of the portal example: true IsDocumentationOnly: type: boolean default: false description: Must be false for regular API products Logo: type: string description: Path to the logo image for this API Product example: /system/products/2/logo/logo.png Name: type: string description: name of this API Product as it comes from the API Provider example: Payment API Path: type: string description: >- URI fragment that is specific for this product. `Path` is added to the catalogue path to form URI to this product: /portal/catalogue-products/`Path` example: acme-payment-api ReferenceID: type: string description: UID of this API Product in the API Provider example: 6490fd2a1ba6a6000108864d Scopes: type: string description: >- OAuth2.0 scopes that will be assigned to OAuth2.0 clients that use this API Product. Should be comma-separated string example: payments,clients SpecDetails: type: array description: Specification details for documentation-only products items: type: object nullable: true Tags: items: type: string example: payment description: Name of a tag type: array description: Tags assigned to this API Product Templates: items: type: string description: Name of an OAuth2.0 template example: Web application type: array description: OAuth2.0 templates that are assigned to this API Product Product-update: properties: APIDetails: items: $ref: "#/components/schemas/Product-APIDetail-edit" type: array AuthType: type: string Catalogues: items: type: integer description: UID of an API Product example: 1 type: array description: Catalogues in which this API Product is listed Content: type: string description: >- Marketing description of an API Product formated as HTML text fragment example:Description goes here
DCREnabled: type: boolean default: false description: Must be false for regular API products Description: type: string description: >- Short description of this API Product which is displayed in the Catalogue page example: Description goes here DisplayName: type: string description: >- Name of an API Product that is displayed in the API Product Details and Catalogue pages example: ACME Payment API Feature: type: boolean default: false description: Must be false for regular API products Name: type: string description: name of this API Product as it comes from the API Provider example: Payment API Path: type: string description: >- URI fragment that is specific for this product. `Path` is added to the catalogue path to form URI to this product: /portal/catalogue-products/`Path` example: acme-payment-api Scopes: type: string description: >- OAuth2.0 scopes that will be assigned to OAuth2.0 clients that use this API Product. Should be comma-separated string example: payments,clients Tags: items: type: integer example: 1 description: Name of a tag type: array description: Tags assigned to this API Product Templates: items: type: integer description: Name of an OAuth2.0 template example: 1 type: array description: OAuth2.0 templates that are assigned to this API Product type: object Provider-create: properties: Configuration: $ref: "#/components/schemas/ProviderConfig-create" Name: type: string description: Name of this API Provider example: Tyk Dashboard Type: type: string description: Type of API gateway used by this API Provider e.g. Tyk or AWS example: tyk-pro type: object Provider-index: items: $ref: "#/components/schemas/Provider-index-elem" type: array Provider-index-elem: properties: LastSyncedAt: type: string description: The last time this provider was synchronized with the portal example: 7 minutes 5 seconds ago ID: type: integer description: UUID of this API provider in the portal's database example: 1 Name: type: string description: Name of this API Provider example: Tyk Dashboard Status: type: string description: Identifies if this API Provider is Up and ready for synchronization example: Up Type: type: string description: Type of API gateway used by this API Provider e.g. Tyk or AWS example: tyk-pro type: object Provider-show: allOf: - $ref: "#/components/schemas/Provider-index-elem" - type: object properties: Configuration: $ref: "#/components/schemas/ProviderConfig" UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: When this API Provider was updated the last time example: 2023-06-23 19:13 CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: When this API Provider was created example: 2023-06-23 19:13 Provider-update: properties: Configuration: $ref: "#/components/schemas/ProviderConfig" Name: type: string type: object ProviderConfig: properties: MetaData: type: string description: Connection settings for this API Provider example: >- {"URL":"http://localhost:3002","Secret":"04d31017802f482f76414a372db30fc2","OrgID":"5e9d9544a1dcd60001d0ed20","Gateway":"","PoliciesTags":[],"InsecureSkipVerify":false} ID: type: integer description: UID of an API provider's metadata example: 1 type: object ProviderConfig-create: properties: MetaData: type: string description: Connection settings for this API Provider example: >- {"URL":"http://localhost:3002","Secret":"04d31017802f482f76414a372db30fc2","OrgID":"5e9d9544a1dcd60001d0ed20","Gateway":"","PoliciesTags":[],"InsecureSkipVerify":false} type: object Status: properties: status: type: string description: Status of the operation example: ok type: object StatusWithMessage: properties: status: type: string description: Status of the operation example: ok message: type: string description: Human-readable description of the status example: "Action Synchronize: Executed successfully" type: object StatusWithErrors: properties: status: type: string description: Status of the operation example: error errors: type: array description: Human-readable description of the errors items: type: string example: >- Failed to sync provider Tyk Dashboard (Edit Me): TykPro.Sync. getting available products: fetching policies: Get "http://localhost:30023/api/portal/policies/?p=-2": dial tcp [::1]:30023: connect: connection refused type: object OnlyErrors: properties: errors: type: array description: Human-readable description of the errors items: type: string type: object TagErrors: properties: errors: type: array description: Human-readable description of the errors items: type: string example: tag with that name already exists type: object SiteSetting: properties: Enable: type: boolean description: Identifies if the live portal is enabled example: true type: object FormsSetting: properties: Enable: type: boolean description: Identifies if the forms are enabled. By default their are disabled example: false default: false type: object S3Setting: properties: ACL: type: string description: ACL rules for the S3 bucket AccessKey: type: string Bucket: type: string Endpoint: type: string PresignURLs: type: boolean Region: type: string SecretKey: type: string type: object Settings-index: items: $ref: "#/components/schemas/Settings-index-elem" type: array Settings-index-elem: properties: Blog: $ref: "#/components/schemas/BlogSetting" Database: $ref: "#/components/schemas/DatabaseSetting" Forms: $ref: "#/components/schemas/FormsSetting" HostPort: type: integer description: Port on which the portal serves HTTP traffic example: 3001 JwtSigningKey: type: string LicenseKey: type: string description: License key for the portal. Provided by the Tyk's account managers example: XXX LogFormat: type: string enum: - dev - prod example: prod description: >- Log output format. The `dev` format is more human-friendly but takes more space, `prod` is a json-like format that fits in production use cases but is difficult to read LogLevel: type: string enum: - debug - info - warn - error - dpanic - panic - fatal description: The portal's log level. The default value is `info` example: info default: info PortalAPISecret: type: string description: >- API secret that must be set by the admin team to use the SSO flow. [SSO instructions](https://tyk.io/docs/tyk-stack/tyk-developer-portal/enterprise-developer-portal/managing-access/enable-sso/) example: portal123 ProductDocRenderer: type: string enum: - stoplight - redoc description: >- Identifies which OpenAPI specification render engine the portal uses on the API Product Page default: stoplight example: stoplight RefreshInterval: type: integer description: >- Defines how often the portal synchronizes data with the connected API Providers. Measured in seconds example: 10 default: 10 S3: $ref: "#/components/schemas/S3Setting" Site: $ref: "#/components/schemas/SiteSetting" Storage: type: string enum: - "`fs`" - "`db`" - "`s3`" description: >- Defines which type of storage the portal uses for its CMS assets. [More about storing the portal's assets in the documentation](https://tyk.io/docs/tyk-stack/tyk-developer-portal/enterprise-developer-portal/install-tyk-enterprise-portal/configuration/#storage-settings) example: "`db`" StoreSessionName: type: string description: Defines name of the cookie where the portal stores its session example: portal-store-session-name default: portal-store-session-name TLSConfig: $ref: "#/components/schemas/TLSSetting" Theming: $ref: "#/components/schemas/ThemeSetting" type: object ThemeSetting: properties: Path: type: string example: ./themes Theme: type: string example: default type: object TLSSetting: properties: Certificates: items: $ref: "#/components/schemas/Certificate" type: array Enable: type: boolean description: Defines if SSL is enabled in the portal InsecureSkipVerify: type: boolean description: Defines if the portal accepts self-signed certificates MinVersion: type: integer MaxVersion: type: integer PreferServerCipherSuites: type: boolean description: >- If true, the server will prefer the server ciphers over the client ciphers CipherSuites: items: type: string description: Cipher suite name example: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 type: array type: object Team-index: items: $ref: "#/components/schemas/Team-index-elem" type: array Team-index-elem: properties: Default: type: boolean description: >- Identifies if this team is a default team for this organisation. All new users are created in the default team unless otherwise specified. example: true ID: type: integer description: UID of this team example: 1 Name: type: string description: Name of this team example: Default Organisation All users type: object Team-create: properties: Name: type: string description: Name of a team example: Partner Team A type: object Team-show: properties: Name: type: string description: Name of this team example: Default Organisation All users ID: type: integer description: UID of this team example: 11 CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when a team is created example: 2023-06-23 21:02 type: string UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when a team was updated the last time example: 2023-06-23 21:02 type: string Users: items: type: string example: User#6 description: User ID type: array description: >- Users included in this organisation. For newly created organisation will an empty array type: object Team-update: properties: Name: type: string description: Name of this team example: Default Organisation All users Users: items: type: integer description: UID of a user example: 1 type: array description: UID of users included into this team type: object User-index: items: $ref: "#/components/schemas/User-index-elem" type: array User-basis: type: object properties: Active: description: Defines if this user is active and can login to the portal type: boolean example: true Email: description: Email of a user type: string example: admin@acme.com First: type: string description: First name of a user example: John Last: type: string description: Last name of a user example: Doe OrganisationID: type: integer description: >- ID of an organisation where this user belongs to. For admin users it is always equal to 0 example: 1 Role: type: string description: Role of a user in their organisation example: consumer-team-member Provider: type: string description: Type of identity provider for this user, e.g. password, github, etc. example: password User-index-elem: allOf: - $ref: "#/components/schemas/User-basis" - type: object properties: ID: description: UID of a user type: integer example: 1 User-create: allOf: - $ref: "#/components/schemas/User-basis" - type: object properties: ResetPassword: type: boolean description: >- Determines if a user must change their password at the next login example: false User-show: allOf: - $ref: "#/components/schemas/User-basis" - type: object properties: JWTToken: type: string description: >- API access credentials to the admin APIs that are described in this spectification example: >- eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJQcm92aWRlciI6Im5vbmUiLCJVc2VySUQiOiIkMmEkMTAkMFhRUEtCSC9nenFWMVhnRkRzUWViLk90bmdzVVlsQk9VSE14T045bWZveEs3ek9zSzVKLnkifQ.SHZtWNA-sYHUwSLEkWFo1r049WBWcQJVco_WH21jXHs APITokenCreatedAt: pattern: ^\d{4}-\d{2}-\d{2}$ description: Date-time when the `JWTToken` is created example: "2023-06-23" type: string Organisation: type: string description: Name of an rganisation where this user belongs to example: Default Organisation ResetPassword: type: boolean description: >- Determines if a user must change their password at the next login example: false Teams: items: type: string description: Name of this user's teams example: Default Organisation All users type: array ID: type: integer description: UID of a user example: 1 CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when a user is created example: 2023-06-23 21:02 type: string UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when a user is updated the last time example: 2023-06-23 21:02 type: string User-update: allOf: - $ref: "#/components/schemas/User-basis" - type: object properties: Teams: items: type: string description: Name of this user's teams example: Default Organisation All users type: array ResetPassword: type: boolean description: >- Determines if a user must change their password at the next login example: false Extended-attributes: items: $ref: "#/components/schemas/Extended-attributes-elem" type: array Extended-attributes-elem: properties: ID: type: integer description: UID of this extended attribute example: 1 ModelName: type: string description: Name of the model for which the custom attributes are extended example: User LastUpdatedBy: type: string description: >- User that made the last update of one of the custom attributes for the extended model example: John Smith - john@tyk.io UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of the last update example: 2023-06-25 13:37 type: object Custom-attribute-basic: properties: Name: type: string description: Label for custom attribute example: Terms of use Identifier: type: string description: Unique string identifier for custom attribute example: terms-of-use Description: type: string description: Description for custom attribute example: I have read and agreed with... Behaviour: type: integer enum: - 1 - 2 - 3 description: >- custom attribute behaviour: 1 -> Developers can view and edit the attribute, 2 -> Developers can only view the attribute, 3 -> Developers cannot see the attribute example: 3 DropdownValues: type: string description: Values to display in dropdown options if the attribute type is 2 example: Fleet_management,Cities,EV_management ValidationRegExp: type: string description: Validation to be applied for string type attributes (type 1) example: www\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+ AddToKeyMetadata: type: boolean description: >- Defines if the value of this custom attribute should be injected into the credential's metadata example: true Required: type: boolean description: >- Defines if the value of this custom attribute is required to create a new object example: true ShowOnSignUp: type: boolean description: >- Defines if this custom attribute should be displayed in the sign up form example: true WriteOnceReadMany: type: boolean description: If set to true the value is set only once for the first time example: true type: object Custom-attribute-create: allOf: - $ref: "#/components/schemas/Custom-attribute-basic" - type: object properties: Type: type: integer enum: - 1 - 2 - 3 - 4 description: >- custom attribute type: 1 -> String, 2 -> Dropdown, 3 -> Boolean, 4 -> Number example: 2 Custom-attribute-element: allOf: - $ref: "#/components/schemas/Custom-attribute-basic" - type: object properties: ID: type: integer description: UID of this custom attribute example: 1 Type: type: integer enum: - 1 - 2 - 3 - 4 description: >- custom attribute type: 1 -> String, 2 -> Dropdown, 3 -> Boolean, 4 -> Number example: 2 Extended-attributes-show: allOf: - $ref: "#/components/schemas/Extended-attributes-elem" - type: object properties: CustomAttributes: type: array description: custom attributes extended for this model items: $ref: "#/components/schemas/Custom-attribute-element" DefaultAttributes: type: array description: default attributes included for this model items: $ref: "#/components/schemas/Default-attribute-element" Custom-attribute-index: items: $ref: "#/components/schemas/Custom-attribute-element" type: array Default-attribute-basic: properties: AddToKeyMetadata: type: boolean description: >- If set to true the value for this default attribute will be injected in the credential metadata example: true type: object Default-attribute-element: allOf: - $ref: "#/components/schemas/Default-attribute-basic" - type: object properties: ID: type: integer description: UID of this default attribute example: 1 Label: type: string description: Name of default attribute field example: First Name Default-attribute-index: items: $ref: "#/components/schemas/Default-attribute-element" type: array Custom-attribute-user-basic: properties: Value: type: string description: custom attribute value example: "true" type: object Custom-attribute-user-detail: properties: Name: type: string description: Label for custom attribute example: Terms of use Identifier: type: string description: Unique string identifier for custom attribute example: terms-of-use Type: type: string description: >- custom attribute type: 1 -> String, 2 -> Dropdown, 3 -> Boolean, 4 -> Number example: Boolean Behaviour: type: string description: >- custom attribute behaviour: 1 -> Developers can view and edit the attribute, 2 -> Developers can only view the attribute, 3 -> Developers cannot see the attribute example: Edit and view AddToKeyMetadata: type: boolean description: >- Defines if value of this custom attribute should be injected in the credentials metadata example: true Required: type: boolean description: Indicates if this custom attribute value is required example: true ShowOnSignUp: type: boolean description: >- Indicates if this custom attribute should be displayed in the sign up form example: true WriteOnceReadMany: type: boolean description: If set to true the value is set only once for the first time example: true type: object Custom-attribute-user-element: allOf: - $ref: "#/components/schemas/Custom-attribute-user-basic" - type: object properties: ID: type: integer description: UID of this user custom attribute example: 1 CustomAttribute: $ref: "#/components/schemas/Custom-attribute-user-detail" Custom-attribute-user-index: items: $ref: "#/components/schemas/Custom-attribute-user-element" type: array ProductTagIndex: items: $ref: "#/components/schemas/Product-Tag" type: array Product-Tag: properties: Name: type: string description: Name of this tag example: monetization type: object ProductClientTypeList: items: $ref: "#/components/schemas/ProductClientTypeListItem" type: array ProductClientTypeListItem: properties: ID: type: integer description: UID of this client type example: 1 Name: type: string description: Name of this client type example: foo type: object ProductClientTypeResponse: properties: Name: type: string description: Name of this client type example: foo ID: type: integer description: UID of this client type example: 11 Description: type: string description: description on the client type example: Web application GrantType: type: string enum: - authorization_code - client_credentials - device_code - pkce - password - implicit - refresh_token description: OAuth2.0 grant types that are allowed for this client type example: authorization_code OktaAppType: type: string enum: - browser - native - web - service description: The type of client application for Okta example: web CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when a client type is created example: 2023-06-23 21:02 type: string UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ description: Date-time when a client type was updated the last time example: 2023-06-23 21:02 type: string type: object ProductClientTypeAttach: properties: ID: type: integer description: UID of this client type example: 11 type: object OAuthProviderBasic: type: object required: - Name - Type - WellKnownURL properties: Name: type: string description: Name of this Identity Provider examples: - My Keycloak instance Type: type: string description: >- Type of the identity provider. At the moment we support `Keycloak`, `Gluu`, and `Okta`. If your provider is not in the list but it is compliant with the Dynamic Client Registration protocol, select `Other`. enum: - Keycloak - Gluu - Okta - Other examples: - Keycloak - Gluu - Okta - Other WellKnownURL: type: string description: >- The well-known endpoint provides metadata about the OpenID Connect Identity Provider, facilitating dynamic client registration by allowing clients to discover configuration details such as registration endpoints automatically. Check documentation of your Identity provider for more information. examples: - >- http://localhost:8080/auth/realms/DCR/clients-registrations/openid-connect SSLInsecureSkipVerify: type: boolean description: >- If enabled, the portal will ignore failed SSL checks when connecting to the Identity provider examples: - false OAuthProviderCreate: allOf: - $ref: "#/components/schemas/OAuthProviderBasic" - type: object properties: RegistrationAccessToken: type: string description: >- This token is used solely for registering a specific instance of the application. examples: - >- eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5MGVmNWRmYy1hNTViLTQ0N2MtODg4ZS1lNjNkNjEwMDc1ZTMifQ.eyJleHAiOjE3OTYyMjQ4MTUsImlhdCI6MTcwOTgyNDgxNSwianRpIjoiMGNiZjMyYmYtZTdmYi00M2U2LTkwNzEtZmNjMGE3YWMzZGNiIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL2F1dGgvcmVhbG1zL0RDUiIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9hdXRoL3JlYWxtcy9EQ1IiLCJ0eXAiOiJJbml0aWFsQWNjZXNzVG9rZW4ifQ.KHx7faY5-DTgUVOKj8aK9RSmM_xRcXf7LJfgHOmPGzc OAuthProviderIndex: items: $ref: "#/components/schemas/OAuthProviderElem" type: array OAuthProviderElem: allOf: - $ref: "#/components/schemas/OAuthProviderBasic" - type: object properties: ID: type: integer description: UID of this Identity Provider examples: - 1 CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this Identity provider was created examples: - 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this Identity provider was created examples: - 2023-06-25 13:37 OAuthProviderShow: allOf: - $ref: "#/components/schemas/OAuthProviderElem" - type: object required: - ClientTypes properties: ClientTypes: type: array description: OAuth2.0 client types associated with this Identity Provider items: $ref: "#/components/schemas/OAuthClientTypeElem" OAuthClientTypeBasic: type: object required: - Name - ResponseTypes - GrantType properties: Name: type: string description: Name of this Client type examples: - Server-side application Description: type: string description: Description of this Client type examples: - >- Use this client configuration to create server-side applications that don't act on behalf of end-users ResponseTypes: type: string description: >- The OAuth 2.0 response type(s) the client is permitted to use, determining how it receives authorization responses from the Identity Provider. Format as CSV and Specify at least one. enum: - code - token - it_token - none examples: - code,token GrantType: type: string description: >- The OAuth 2.0 grant types the client is permitted to use, determining how it obtains access tokens from the authorization server. Format as CSV and Specify at least one. enum: - authorization_code - pkce - client_credentials - device_code - refresh_token - password - implicit examples: - authorization_code,refresh_token,password TokenEndpointAuthMethod: type: string description: >- The authentication method a client can use at the token endpoint, ensuring secure communication with the authorization server during the OAuth 2.0 authentication. enum: - client_secret_basic - client_secret_post examples: - client_secret_basic - client_secret_post OktaAppType: type: string description: >- Dictates how an application will authenticate and interact with Okta's authorization servers, including whether it operates as a web, native, single-page, or service application. This setting is required to register Okta Identity Providers and not required for other Identity Provider. Please note that Okta overwrites values of the `TokenEndpointAuthMethod`, `GrantType`, and `ResponseTypes` properties and fills them based on the value of the `OktaAppType` property. enum: - web - native - browser - service examples: - web - native - browser - service OAuthClientTypeElem: allOf: - $ref: "#/components/schemas/OAuthClientTypeBasic" - type: object properties: ID: type: integer description: UID of this client type examples: - 1 CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this client type was created examples: - 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this client type was created examples: - 2023-06-25 13:37 OAuthClientTypeIndex: type: array items: $ref: "#/components/schemas/OAuthClientTypeElem" Webhook-update: type: object properties: Name: type: string description: Name of the webhook URL: type: string description: URL to which the webhook will send requests Method: type: string description: HTTP method used by the webhook (e.g., GET, POST) Timeout: type: integer description: Timeout in seconds for the webhook request Events: type: array description: List of event types that trigger the webhook items: type: string enum: - AccessRequestApproved - AccessRequestRejected - AccessRequestCreated - OrganisationRequestCreated - UserRegistered - OrganisationRequestApproved - OrganisationRequestRejected - PasswordReset - RegisterInvite - UserAccountActivated - UserAccountDeactivated - ApplicationRegistered - CredentialRegistered - OrganisationRegistered Webhook-create: type: object properties: Name: type: string description: Name of the webhook URL: type: string description: URL to which the webhook will send requests Method: type: string description: HTTP method used by the webhook (e.g., GET, POST) Timeout: type: integer description: Timeout in seconds for the webhook request Events: type: array description: List of event types that trigger the webhook items: type: string enum: - AccessRequestApproved - AccessRequestRejected - AccessRequestCreated - OrganisationRequestCreated - UserRegistered - OrganisationRequestApproved - OrganisationRequestRejected - PasswordReset - RegisterInvite - UserAccountActivated - UserAccountDeactivated - ApplicationRegistered - CredentialRegistered - OrganisationRegistered Webhook-index: type: array items: $ref: "#/components/schemas/Webhook-index-elem" Webhook-index-elem: type: object properties: ID: type: string description: Unique identifier for the webhook Name: type: string description: Name of the webhook URL: type: string description: URL to which the webhook will send requests Method: type: string description: HTTP method used by the webhook (e.g., GET, POST) Timeout: type: integer description: Timeout in seconds for the webhook request Headers: type: array description: List of custom headers included in the webhook request items: $ref: "#/components/schemas/WebhookHeader" Events: type: array description: List of event types that trigger the webhook items: type: string enum: - AccessRequestApproved - AccessRequestRejected - AccessRequestCreated - OrganisationRequestCreated - UserRegistered - OrganisationRequestApproved - OrganisationRequestRejected - PasswordReset - RegisterInvite - UserAccountActivated - UserAccountDeactivated - ApplicationRegistered - CredentialRegistered - OrganisationRegistered Webhook: type: object properties: Name: type: string description: Name of the webhook URL: type: string description: URL to which the webhook will send requests Method: type: string description: HTTP method used by the webhook (e.g., GET, POST) Timeout: type: integer description: Timeout in seconds for the webhook request Headers: type: array description: List of custom headers included in the webhook request items: $ref: "#/components/schemas/WebhookHeader" Events: type: array description: List of event types that trigger the webhook items: type: string enum: - AccessRequestApproved - AccessRequestRejected - AccessRequestCreated - OrganisationRequestCreated - UserRegistered - OrganisationRequestApproved - OrganisationRequestRejected - PasswordReset - RegisterInvite - UserAccountActivated - UserAccountDeactivated - ApplicationRegistered - CredentialRegistered - OrganisationRegistered Webhook-show: type: object properties: ID: type: string description: Unique identifier for the webhook Name: type: string description: Name of the webhook URL: type: string description: URL to which the webhook will send requests Method: type: string description: HTTP method used by the webhook (e.g., GET, POST) Timeout: type: integer description: Timeout in seconds for the webhook request Headers: type: array description: List of custom headers included in the webhook request items: $ref: "#/components/schemas/WebhookHeader" Events: type: array description: List of event types that trigger the webhook items: type: string enum: - AccessRequestApproved - AccessRequestRejected - AccessRequestCreated - OrganisationRequestCreated - UserRegistered - OrganisationRequestApproved - OrganisationRequestRejected - PasswordReset - RegisterInvite - UserAccountActivated - UserAccountDeactivated - ApplicationRegistered - CredentialRegistered - OrganisationRegistered CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this webhook was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this webhook was updated the last time example: 2023-06-25 13:37 WebhookHeader-index: type: array items: $ref: "#/components/schemas/WebhookHeader-index-elem" WebhookHeader-index-elem: type: object properties: ID: type: string description: Unique identifier for the header Name: type: string description: Name of the header Value: type: string description: Value of the header WebhookHeader: type: object description: Details of a webhook header properties: ID: type: string description: Unique identifier for the header Name: type: string description: Name of the header Value: type: string description: Value of the header WebhookHeader-create: type: object description: Details of a webhook header properties: Name: type: string description: Name of the header Value: type: string description: Value of the header WebhookHeader-update: type: object description: Details of a webhook header properties: Name: type: string description: Name of the header Value: type: string description: Value of the header WebhookHeader-show: type: object properties: ID: type: string description: Unique identifier for the header Name: type: string description: Name of the header Value: type: string description: Value of the header WebhookID: type: string description: Unique identifier of the associated webhook Post-show: type: object properties: ID: type: string description: Unique identifier for the post Title: type: string description: Title of the post Lede: type: string description: Short summary or lead paragraph of the post Content: type: string description: Full content of the post Status: type: string description: Status of the post (e.g., draft, published) Path: type: string description: URL path for the post Categories: type: array description: List of categories associated with the post items: $ref: "#/components/schemas/Category-show" Tags: type: array description: List of tags associated with the post items: $ref: "#/components/schemas/Tag-show" MarkdownEnabled: type: boolean description: Whether Markdown is enabled for this post MarkdownContent: type: string description: Content of the post in Markdown format, if Markdown is enabled PreviewContent: type: string description: Preview content of the post CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this post was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this post was last updated example: 2023-06-25 13:37 Post-update: type: object properties: Title: type: string description: Title of the post Lede: type: string description: Short summary or lead paragraph of the post Content: type: string description: Full content of the post Status: type: string description: Status of the post (e.g., draft, published) Path: type: string description: URL path for the post Categories: type: array description: List of category IDs to associate with the post items: type: string Tags: type: array description: List of tag IDs to associate with the post items: type: string MarkdownEnabled: type: boolean description: Whether Markdown is enabled for this post MarkdownContent: type: string description: Content of the post in Markdown format, if Markdown is enabled PreviewContent: type: string description: Preview content of the post Category-index: type: array items: $ref: "#/components/schemas/Category-index-elem" Category-index-elem: type: object properties: ID: type: string description: Unique identifier for the category Name: type: string description: Name of the category CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this category was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this category was last updated example: 2023-06-25 13:37 Category-attach: type: object properties: ID: type: integer description: Unique identifier for the category Category-show: type: object properties: ID: type: string description: Unique identifier for the category Name: type: string description: Name of the category CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this category was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this category was last updated example: 2023-06-25 13:37 Tag-index: type: array items: $ref: "#/components/schemas/Tag-index-elem-blog" Tag-index-tags: type: array items: $ref: "#/components/schemas/Tag-index-elem" Tag-index-elem: type: object properties: ID: type: integer description: Unique identifier for the tag example: 1 Name: type: string description: Name of the tag example: "monetization" Tag-index-elem-blog: allOf: - $ref: "#/components/schemas/Tag-index-elem" - type: object properties: CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this tag was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this tag was last updated example: 2023-06-25 13:37 Tag-attach: type: object properties: ID: type: integer description: Unique identifier for the tag Tag-show: type: object properties: ID: type: string description: Unique identifier for the tag Name: type: string description: Name of the tag CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this tag was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this tag was last updated example: 2023-06-25 13:37 Tag-show-tags: type: object properties: ID: type: integer description: Unique identifier for the tag example: 1 Name: type: string description: Name of the tag example: "monetization" Posts: type: array description: List of posts associated with this tag items: type: object properties: ID: type: integer description: Unique identifier for the post example: 1 Title: type: string description: Title of the post example: "How to write a blog post" Lede: type: string description: Short summary or lead paragraph of the post Status: type: string description: Status of the post (e.g., draft, published) example: "published" Path: type: string description: URL path for the post example: "ten-tips-for-gaining-advantage" AuthorID: type: integer description: Unique identifier of the post's author example: 1 Products: type: array description: List of products associated with this tag items: type: object properties: ID: type: integer description: Unique identifier for the product example: 1 Name: type: string description: Name of the product example: "public_product" DisplayName: type: string description: Display name of the product Path: type: string description: URL path for the product example: "public_product-1" ReferenceID: type: string description: Reference ID of the product example: "61a89e5b5146370001de74d4" Feature: type: boolean description: Indicates if the product is featured example: false DCREnabled: type: boolean description: Indicates if Dynamic Client Registration is enabled for this product example: false ProviderID: type: integer description: Unique identifier of the product's provider example: 1 CustomCredential: type: object properties: ID: type: integer description: Unique identifier for the custom credential Alias: type: string description: Alias for the custom credential Type: type: string enum: - CREDENTIAL_TYPE_TYK_MANAGED - CREDENTIAL_TYPE_CUSTOM description: Type of the custom credential PlanID: type: string description: Plan ID associated with the custom credential AuthenticationMethod: type: string description: Authentication method used for the custom credential ProductIDs: type: array items: type: integer description: List of product IDs associated with the custom credential AuthTokenType: type: string enum: - AUTH_TOKEN_TYPE_CUSTOM - AUTH_TOKEN_STANDARD description: Type of authentication token used KeyID: type: string description: Key ID for the custom credential ProviderID: type: integer description: ID for OAuth2.0 provider ClientTypeID: type: integer description: ID for OAuth2.0 client type CustomCredential-create: type: object properties: Alias: type: string description: Alias for the custom credential Type: type: string enum: - CREDENTIAL_TYPE_TYK_MANAGED - CREDENTIAL_TYPE_CUSTOM description: Type of the custom credential PlanID: type: integer description: Plan ID associated with the custom credential AuthenticationMethod: type: string description: Authentication method used for the custom credential ProductIDs: type: array items: type: integer description: List of product IDs associated with the custom credential AuthTokenType: type: string enum: - AUTH_TOKEN_TYPE_CUSTOM - AUTH_TOKEN_STANDARD description: Type of authentication token used KeyID: type: string description: Key ID for the custom credential CredentialKey: type: string description: Key for the custom credential CredentialSecret: type: string description: Secret for the custom credential ProviderID: type: integer description: ID for OAuth2.0 provider ClientTypeID: type: integer description: ID for OAuth2.0 client type CustomCredential-update: type: object properties: Alias: type: string description: Alias for the custom credential CustomCredential-index: type: array items: $ref: '#/components/schemas/CustomCredential' CustomCredential-show: allOf: - $ref: '#/components/schemas/CustomCredential' - type: object properties: CreatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this webhook was created example: 2023-06-25 13:37 UpdatedAt: pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ type: string description: Timestamp of when this webhook was updated the last time example: 2023-06-25 13:37 SSOProfile-index: type: array items: $ref: "#/components/schemas/SSOProfile-index-elem" SSOProfile-index-elem: type: object properties: ID: type: string description: Unique identifier/key for the SSO profile example: ldap_dev Name: type: string description: Name of the SSO profile example: Developers@LocalAD ActionType: type: string description: Type of action to perform example: GenerateOrLoginDeveloperProfile LoginURL: type: string description: URL for SSO login example: http://localhost:3001/tib/auth/ldap_dev/ldap RedirectURL: type: string description: Callback URL for SSO authentication example: http://localhost:3001/tib/auth/ldap_dev/ldap/callback SelectedProviderType: type: string description: Type of the selected provider example: ldap UpdatedAt: type: string description: Timestamp of when this profile was last updated pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$ example: "2024-11-14 12:36" UpdatedBy: type: string description: Email of the user who last updated this profile example: auto_test@tyk.io SSOProfile-response: type: object properties: ID: type: string description: Unique identifier/key for the SSO profile example: ldap_dev Name: type: string description: Name of the SSO profile example: Developers@LocalAD OrgID: type: string description: Organization ID example: "1" ActionType: type: string description: Type of action to perform example: GenerateOrLoginDeveloperProfile MatchedPolicyID: type: string description: ID of the matched policy Type: type: string description: Type of SSO profile example: redirect ProviderName: type: string description: Name of the provider example: ADProvider CustomEmailField: type: string description: Custom field for email mapping CustomUserIDField: type: string description: Custom field for user ID mapping ProviderConfig: type: object description: JSON configuration for the provider additionalProperties: true IdentityHandlerConfig: type: object description: JSON configuration for identity handling additionalProperties: true ProviderConstraintsDomain: type: string description: Domain constraints for the provider ProviderConstraintsGroup: type: string description: Group constraints for the provider ReturnURL: type: string description: URL to return to after SSO example: http://localhost:3001/sso DefaultUserGroupID: type: string description: Default group ID for new users CustomUserGroupField: type: string description: Custom field for user group mapping example: cn UserGroupMapping: type: object description: JSON mapping of user groups additionalProperties: true example: TeamA: "9" TeamB: "11" UserGroupSeparator: type: string description: Separator used in user group strings SSOOnlyForRegisteredUsers: type: boolean description: "Whether SSO is restricted to registered users only" default: false Product-create: type: object required: - Name - ProviderID - IsDocumentationOnly properties: APIDetails: type: array items: type: object properties: APIID: type: string example: "3108a5fc970946ef66c1835cf73ba7a5" Description: type: string example: "This API provides payment endpoints" OASUrl: type: string format: uri example: "https://petstore.swagger.io/v2/swagger.json" Catalogues: type: array items: type: integer example: 1 CID: type: string example: "2r7p8aUnkzby17hCJk8w2XvK3K6" Content: type: string example: "Description goes here
" DCREnabled: type: boolean default: false example: true Description: type: string example: "Description goes here" DisplayName: type: string example: "ACME Payment API" Feature: type: boolean default: false example: true IsDocumentationOnly: type: boolean default: false description: Must be false for regular API products Name: type: string example: "payment_api" ProviderID: type: integer example: 1 Scopes: type: string example: "payments,clients" Tags: type: array items: type: integer example: 1 Templates: type: array items: type: integer example: 1 DocumentationProduct-create: type: object required: - Name - IsDocumentationOnly properties: SpecDetails: type: array items: type: object required: - SpecAlias properties: SpecAlias: type: string example: "payment_api" OASUrl: type: string format: uri example: "https://petstore.swagger.io/v2/swagger.json" Catalogues: type: array items: type: integer example: 1 CID: type: string example: "2r7p8aUnkzby17hCJk8w2XvK3K6" Content: type: string example: "Description goes here
" DCREnabled: type: boolean default: false example: true Description: type: string example: "Description goes here" DisplayName: type: string example: "Doc only Product" Feature: type: boolean default: false example: true IsDocumentationOnly: type: boolean default: true description: Must be true for documentation only products Name: type: string example: "doc_only" Tags: type: array items: type: integer example: 1 SpecDetail-index: items: $ref: "#/components/schemas/SpecDetail-index-elem" type: array SpecDetail-index-elem: type: object allOf: - $ref: "#/components/schemas/SpecDetail-create" - type: object properties: ID: type: integer description: Unique identifier of the Specification example: 1 SpecDetail-create: type: object required: - SpecAlias properties: CID: type: string description: Client ID associated with this Specification example: "2r7p8aUnkzby17hCJk8w2XvK3K6" SpecAlias: type: string description: Alias/identifier for this Specification example: "payment_api" OASUrl: type: string description: URL of OpenAPI Specification. The document must be a valid OAS document example: "https://petstore.swagger.io/v2/swagger.json" Name: type: string description: Name of the Specification example: "Payment API Documentation" securitySchemes: AdminAPIToken: type: apiKey in: header name: Authorization