openapi: 3.0.3 info: contact: email: support@tyk.io name: Tyk Technologies url: https://tyk.io/contact description: |- For Tyk On-Premises installations only, the Dashboard Admin API has two endpoints and is used to set up and provision a Tyk Dashboard instance without the command line. In order to use the Dashboard Admin API, you'll need to get the `admin_secret` value from your Tyk Dashboard configurations. The secret you set should then be sent along as a header with each Dashboard Admin API Request in order for it to be successful: ``` admin-auth: ``` license: name: Mozilla Public License Version 2.0 url: https://github.com/TykTechnologies/tyk/blob/master/LICENSE.md title: Tyk Dashboard Admin API version: 5.8.0 servers: - url: https://{tenant} variables: tenant: default: localhost:3000 description: Your dashboard host security: - api_key: [] tags: - description: The import API enables you to add Organisations, APIs and Policies back into a Tyk installation while retaining their base IDs so that they work together. name: Import - description: To make Tyk installations more portable, the Export API enables you to export key configuration objects required to back-up and re-deploy a basic Tyk Pro installation. name: Export - description: The admin portion of the users API gives you the ability to manage password reset policies for your Dashboard users. name: Users - description: Since the Dashboard can have multiple URLs associated with it. It is possible to force a URL reload by calling an API endpoint of the Dashboard API. name: Dashboard URL Reload - description: The organisations API gives the ability to manage your Tyk organisation(s). name: Organisations - description: The Dashboard exposes the /admin/sso Dashboard API which allows you to generate a temporary authentication token, valid for 60 seconds. name: Single Sign On paths: /admin/apis/import: post: description: The import APIs operates on lists of APIs. operationId: importAPIs requestBody: content: application/json: example: apis: - api_definition: api_id: 5fa2db834e07444f760b7ceb314209fb name: API 2 hook_references: [] is_streams: false sort_by: 0 schema: $ref: '#/components/schemas/ApiDefinitions' responses: "200": content: application/json: example: Message: APIs imported Meta: 5fa2db834e07444f760b7ceb314209fb: true 7a6ddeca9244448a4233866938a0d6e2: true Status: OK schema: $ref: '#/components/schemas/ApiError' description: OK "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "403": content: application/json: example: Message: Request body malformed Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Forbidden "500": content: application/json: example: Message: Failed to read response body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Internal Server Error summary: Import APIs tags: - Import /admin/oauth/tokens: delete: description: Purge OAuth tokens. operationId: deleteOAuthTokens parameters: - description: This is required example: lapsed in: query name: scope required: true schema: enum: - lapsed type: string responses: "200": content: application/json: example: Message: success Meta: null Status: OK schema: $ref: '#/components/schemas/ApiError' description: Purge lapsed successfully "400": content: application/json: example: Message: unknown scope Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: unknown scope "422": content: application/json: example: Message: scope parameter is required Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Scope missing "500": content: application/json: example: Message: purging lapsed oauth tokens failed Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: purging lapsed oauth summary: Purge OAuth tokens. tags: - Oauth /admin/org/keys: get: description: Lists keys that grant access to the API with the ID {apiID}. operationId: getAllKeys responses: "200": content: application/json: example: data: keys: - 5e9d9544a1dcd60001d0ed20a28c495beff140a4a6d8c272a1956b99 - 5e9d9544a1dcd60001d0ed20e7f75f9e03534825b7aef9df749582e5 - 5e9d9544a1dcd60001d0ed2060ff87c0deab4a508dd2ac18ccb8b664 pages: 1 schema: $ref: '#/components/schemas/Keys' description: Paginated key IDs. "404": content: application/json: example: Message: Could not retrieve keys Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Not Found "500": content: application/json: example: Message: Failed to unmarshal keys data from Tyk API Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Internal Server Error summary: List keys by API. tags: - keys post: description: Creates a key. operationId: createOrgKey requestBody: content: application/json: example: alias: portal-key allowance: 1000 apply_policies: - 62a0ec9092faf50001395817 enable_detailed_recording: true expires: 1.718439136e+09 hmac_enabled: false is_inactive: false meta_data: tyk_developer_id: 62b3fb9a1d5e4f00017226f5 org_id: 5e9d9544a1dcd60001d0ed20 per: 60 quota_max: -1 quota_remaining: 0 quota_renewal_rate: -1 quota_renews: 1.715847135e+09 rate: 1000 tags: - edge-eu - edge throttle_interval: 0 throttle_retry_limit: 0 schema: $ref: '#/components/schemas/SessionState' responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeyData' description: Key added successfully "403": content: application/json: example: Message: 'Failed to save new session object to Tyk:' Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: 'Failed to save new session object to Tyk:' "500": content: application/json: example: Message: Failed to read response body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Could not read request body summary: Create a key. tags: - keys /admin/org/keys/{keyId}: delete: description: Deleting a key will remove it permanently from the system. operationId: deleteOrgKey parameters: - description: The ID of the key. example: 5e9d9544a1dcd60001d0ed20e7f75f9e03534825b7aef9df749582e5 in: path name: keyId required: true schema: type: string responses: "200": content: application/json: example: Message: Key deleted successfully Meta: null Status: OK schema: $ref: '#/components/schemas/ApiError' description: Key deleted "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "500": content: application/json: example: Message: Could not delete key Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Internal Server Error summary: Delete key. tags: - keys get: description: Get the details of a key. operationId: getOrgKey parameters: - description: The ID of the key. example: 5e9d9544a1dcd60001d0ed20e7f75f9e03534825b7aef9df749582e5 in: path name: keyId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeyData' description: Key Data fetched. "404": content: application/json: example: Message: Could not get Org key details Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Not Found "500": content: application/json: example: Message: Failed to unmarshal key data from Tyk API Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Failed to unmarshal key data from Tyk API summary: Get key Details. tags: - keys put: description: Update a key with it's id. operationId: updateOrgKey parameters: - description: The ID of the key. example: 5e9d9544a1dcd60001d0ed20e7f75f9e03534825b7aef9df749582e5 in: path name: keyId required: true schema: type: string requestBody: content: application/json: example: alias: portal-key allowance: 1000 apply_policies: - 62a0ec9092faf50001395817 enable_detailed_recording: true expires: 1.718439136e+09 hmac_enabled: false is_inactive: false meta_data: tyk_developer_id: 62b3fb9a1d5e4f00017226f5 org_id: 5e9d9544a1dcd60001d0ed20 per: 60 quota_max: -1 quota_remaining: 0 quota_renewal_rate: -1 quota_renews: 1.715847135e+09 rate: 1000 tags: - edge-eu - edge throttle_interval: 0 throttle_retry_limit: 0 schema: $ref: '#/components/schemas/SessionState' responses: "200": content: application/json: example: Message: Key updated Meta: null Status: OK schema: $ref: '#/components/schemas/ApiError' description: Key updated "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "403": content: application/json: example: Message: Failed to update session object to Tyk Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Failed to update session object to Tyk "404": content: application/json: example: Message: Org key doesn't exist Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Org key doesn't exist "500": content: application/json: example: Message: Updating orgID of org key is not allowed Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: 'Invalid operation: Trying to update orgID of org key' summary: Update key. tags: - keys /admin/organisations: get: description: List all organisations operationId: getOrgs responses: "200": content: application/json: example: organisations: - apis: - api_human_name: 'First API #Test' api_id: 5508bd9429434d5768c423a04db259ea cname: jive.ly cname_enabled: true developer_count: 0 developer_quota: 0 event_options: {} hybrid_enabled: false id: 5cc03283d07e7f00019404b3 org_options_meta: {} owner_name: Jively owner_slug: testorg ui: cloud: false default_lang: "" designer: {} dont_allow_license_management: false dont_allow_license_management_view: false dont_show_admin_sockets: false hide_help: false languages: {} login_page: {} nav: {} portal_section: {} uptime: {} - apis: [] cname: second.ly cname_enabled: false developer_count: 5 developer_quota: 10 event_options: {} hybrid_enabled: true id: 5ccae84aa402ce00018b5435 org_options_meta: {} owner_name: SecondOrg owner_slug: secondorg ui: cloud: false default_lang: "" designer: {} dont_allow_license_management: false dont_allow_license_management_view: false dont_show_admin_sockets: false hide_help: false languages: {} login_page: {} nav: {} portal_section: {} uptime: {} pages: 0 schema: $ref: '#/components/schemas/ApiRegister' description: Organisations retrieved successfully "404": content: application/json: example: Message: Could not retrieve Organisations Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Not Found "500": content: application/json: example: Message: Failed to unmarshal orgs data from Tyk API Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Internal Server Error summary: List all organisations tags: - Organisations post: description: Create an Organisation operationId: createOrg requestBody: content: application/json: example: cname: jive.ly cname_enabled: true owner_name: Jively schema: $ref: '#/components/schemas/OrganisationDocument' responses: "200": content: application/json: example: Message: Org created Meta: 54b53d3aeba6db5c35000002 Status: OK schema: $ref: '#/components/schemas/ApiError' description: Organisation created "403": content: application/json: example: Message: Request body malformed Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unmarshalling request body failed, malformed "500": content: application/json: example: Message: Failed to read response body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Could not read request body summary: Create an Organisation tags: - Organisations /admin/organisations/{orgID}: delete: description: Delete an organisation operationId: deleteOrg parameters: - description: Organisation ID of the org to add, update, or delete. example: 5e9f9b9b4d7b4a0020e3c4f5 in: path name: orgID required: true schema: type: string responses: "200": content: application/json: example: Message: Org deleted Meta: null Status: OK schema: $ref: '#/components/schemas/ApiError' description: OK "400": content: application/json: example: Message: Could not delete the org Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Bad Request "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "404": content: application/json: example: Message: Could not retrieve org detail Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Not Found summary: Delete an organisation tags: - Organisations get: description: Retrieve a single organisation operationId: getOrg parameters: - description: Organisation ID of the org to add, update, or delete. example: 5e9f9b9b4d7b4a0020e3c4f5 in: path required: true name: orgID schema: type: string responses: "200": content: application/json: example: apis: - api_human_name: API 2 api_id: 5fa2db834e07444f760b7ceb314209fb - api_human_name: API 1 api_id: 7a6ddeca9244448a4233866938a0d6e2 - api_human_name: API 3 api_id: 109eacaa50b24b64651a1d4dce8ec385 cname: my.domain.com cname_enabled: true developer_count: 21 developer_quota: 123 event_options: key_event: email: "" redis: true webhook: "" key_request_event: email: "" redis: false webhook: "" hybrid_enabled: false id: 53ac07777cbb8c2d53000002 owner_name: Test owner_slug: test ui: default_lang: "" designer: {} dont_allow_license_management: false dont_allow_license_management_view: false dont_show_admin_sockets: false hide_help: false languages: {} login_page: {} nav: {} portal_section: {} uptime: {} schema: $ref: '#/components/schemas/OrganisationDocument' description: Organisation retrieved "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "404": content: application/json: example: Message: Could not retrieve org detail Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Org not found. "500": content: application/json: example: Message: Failed to marshal org data from DB Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Failed to marshal org data from DB summary: Retrieve a single organisation tags: - Organisations put: description: Update Organisation details. This operation will replace the existing Organisation details with those provided in the request payload. It is important to provide the entire object - for example linked APIs - to avoid overwriting existing data with empty values. operationId: updateOrg parameters: - description: Organisation ID of the org to add, update, or delete. example: 5e9f9b9b4d7b4a0020e3c4f5 in: path name: orgID required: true schema: type: string requestBody: content: application/json: example: apis: - api_human_name: 'First API #Test' api_id: 5508bd9429434d5768c423a04db259ea cname: jive.ly cname_enabled: true developer_count: 0 developer_quota: 0 event_options: {} hybrid_enabled: false id: 5cc03283d07e7f00019404b3 org_options_meta: {} owner_name: Jively owner_slug: testorg ui: cloud: false default_lang: "" designer: {} dont_allow_license_management: false dont_allow_license_management_view: false dont_show_admin_sockets: false hide_help: false languages: {} login_page: {} nav: {} portal_section: {} uptime: {} schema: $ref: '#/components/schemas/OrganisationDocument' responses: "200": content: application/json: example: Message: Org updated Meta: null Status: OK schema: $ref: '#/components/schemas/ApiError' description: Organisation updated successfully "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "403": content: application/json: example: Message: Failed to update Org object to DB Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Forbidden "500": content: application/json: example: Message: Failed to read request body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Internal Server Error summary: Update organisation details tags: - Organisations /admin/organisations/{orgID}/generate-portals: post: description: Generate Portals operationId: generatePortalAPIsForOrg parameters: - description: Organisation ID example: 5e9f9b9b4d7b4a0020e3c4f5 in: path name: orgID required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FormDataCreateDomainRequest' responses: "200": content: application/json: example: Message: Org updated Meta: null Status: OK schema: $ref: '#/components/schemas/ApiError' description: Org updated "404": content: application/json: example: Message: Could not generate APIs Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Could not generate APIs summary: Generate Portals tags: - Organisations /admin/organisations/import: post: description: The organisation object is the most fundamental object in a Tyk setup, all other ownership properties hang off the relationship between an organisation and it’s APIs, Policies and API Tokens. operationId: importOrgs requestBody: content: application/json: example: apis: - api_human_name: API 2 api_id: 5fa2db834e07444f760b7ceb314209fb - api_human_name: API 1 api_id: 7a6ddeca9244448a4233866938a0d6e2 - api_human_name: API 3 api_id: 109eacaa50b24b64651a1d4dce8ec385 cname: my.domain.com cname_enabled: true developer_count: 21 developer_quota: 123 event_options: key_event: email: "" redis: true webhook: "" key_request_event: email: "" redis: false webhook: "" hybrid_enabled: false id: 53ac07777cbb8c2d53000002 owner_name: Test owner_slug: test ui: default_lang: "" designer: {} dont_allow_license_management: false dont_allow_license_management_view: false dont_show_admin_sockets: false hide_help: false languages: {} login_page: {} nav: {} portal_section: {} uptime: {} schema: $ref: '#/components/schemas/OrganisationDocument' responses: "200": content: application/json: example: Message: Org imported Meta: 53ac07777cbb8c2d53000002 Status: OK schema: $ref: '#/components/schemas/ApiError' description: Org imported successfully. "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "403": content: application/json: example: Message: Failed to save new Org object to DB Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Back Request. "500": content: application/json: example: Message: Failed to read response body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Failed to read response body, body empty summary: Import organisations tags: - Import /admin/policies/import: post: description: The import Policies operates on lists of Policies. operationId: importPolicies requestBody: content: application/json: example: Data: - _id: "" access_rights: null active: true date_created: "0001-01-01T00:00:00Z" hmac_enabled: false id: "" is_inactive: false key_expires_in: 0 last_updated: "1478791603" max_query_depth: 0 meta_data: null name: Default org_id: 53ac07777cbb8c2d53000002 partitions: acl: false complexity: false per_api: false quota: false rate_limit: false per: 60 quota_max: -1 quota_renewal_rate: 3600 rate: 1000 smoothing: null tags: [] throttle_interval: 0 throttle_retry_limit: 0 Pages: 0 schema: $ref: '#/components/schemas/ImportDataStruct' responses: "200": content: application/json: example: Message: Policies imported Meta: 61df10078f11dd00097cb55f: true Status: OK schema: $ref: '#/components/schemas/ApiError' description: OK "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "403": content: application/json: example: Message: Request body malformed Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Forbidden "500": content: application/json: example: Message: Failed to read response body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Internal Server Error summary: Import Policies tags: - Import /admin/sso: post: description: The Dashboard exposes the /admin/sso Dashboard API which allows you to generate a temporary authentication token, valid for 60 seconds. operationId: generateAuthToken requestBody: content: application/json: example: DisplayName: "" EmailAddress: name@somewhere.com ForSection: dashboard GroupID: "" GroupsIDs: null OrgID: 588b4f0bb275ff0001cc7471 SSOOnlyForRegisteredUsers: false UserNotAllowed: false schema: $ref: '#/components/schemas/SSOAccessData' responses: "200": content: application/json: example: Message: SSO Nonce created Meta: YTNiOGUzZjctYWZkYi00OTNhLTYwODItZTAzMDI3MjM0OTEw Status: OK schema: $ref: '#/components/schemas/ApiError' description: Additional Permissions updated successfully. "400": content: application/json: example: Message: 'Cannot create an SSO session for an invalid payload: [Error: Org id not found (''588b4f0bb275ff0001cc7471'').]' Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Back Request. "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized "403": content: application/json: example: Message: Failed to save new SSO object to DB Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Failed to save new SSO object to DB "500": content: application/json: example: Message: Failed to read response body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Could not read request body summary: Generate authentication token tags: - Single Sign On /admin/system/reload: get: description: Reloads dashboard urls operationId: reloadURLs responses: "200": content: application/json: example: status: ok schema: $ref: '#/components/schemas/ReloadResponse' description: URLs reloaded successfully. "401": content: application/json: example: Message: Not authorised Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unauthorized summary: Reloads dashboard urls tags: - Dashboard URL Reload /admin/users: post: description: Add a user to the dashboard operationId: createUser requestBody: content: application/json: example: email_address: itachisasuke@gmail.com first_name: itachi last_name: sasuke schema: $ref: '#/components/schemas/User' responses: "200": content: application/json: example: Message: c8251902f3f44dfa729e0267d0d62859 Meta: access_key: c8251902f3f44dfa729e0267d0d62859 active: false api_model: {} created_at: "2025-03-10T11:10:52.988014+03:00" email_address: itachisasuke@gmail.com first_name: itachi group_id: "" id: "363739613032343635373135656364643530376437323733" last_login_date: "0001-01-01T00:00:00Z" last_name: sasuke org_id: "" password_max_days: 0 password_updated: "0001-01-01T00:00:00Z" user_permissions: IsAdmin: admin ResetPassword: admin Status: OK schema: $ref: '#/components/schemas/ApiError' description: User added successfully "403": content: application/json: example: Message: User email already exists for this Org Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: User email already exists "500": content: application/json: example: Message: Failed to read response body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Could not read request body summary: Create a user tags: - Users /admin/users/{userId}: get: description: Get user summary with user id operationId: getUserDetail parameters: - description: The Id of the user you want to get example: 679a02465715ecdd507d7273 in: path name: userId required: true schema: type: string responses: "200": content: application/json: example: access_key: c8251902f3f44dfa729e0267d0d62859 active: false email_address: itachisasuke@gmail.com first_name: itachi group_id: "" id: 679a02465715ecdd507d7273 last_login_date: "0001-01-01T00:00:00Z" last_name: sasuke org_id: "" password_max_days: 0 password_updated: "0001-01-01T00:00:00Z" user_permissions: IsAdmin: admin ResetPassword: admin schema: $ref: '#/components/schemas/User' description: user fetched successfully "404": content: application/json: example: Message: Could not retrieve user detail Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: User not found "500": content: application/json: example: Message: Failed to marshal user data from DB Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Failed to marshal user data from DB summary: Get user details tags: - Users put: description: Update user details with the user ID operationId: updateUser parameters: - description: The Id of the user you want to update example: 679a02465715ecdd507d7273 in: path name: userId required: true schema: type: string requestBody: content: application/json: example: access_key: c8251902f3f44dfa729e0267d0d62859 active: false email_address: itachisasuke@gmail.com first_name: itachi id: 679a02465715ecdd507d7273 last_name: sasuke org_id: "" schema: $ref: '#/components/schemas/User' responses: "200": content: application/json: example: Message: c8251902f3f44dfa729e0267d0d62859 Meta: access_key: c8251902f3f44dfa729e0267d0d62859 active: false api_model: {} created_at: "2025-03-10T11:10:52.986309+03:00" email_address: itachisasuke@gmail.com first_name: itachi group_id: "" id: "363739613032343635373135656364643530376437323733" last_login_date: "0001-01-01T00:00:00Z" last_name: sasuke org_id: "" password_max_days: 0 password_updated: "0001-01-01T00:00:00Z" user_permissions: IsAdmin: admin ResetPassword: admin Status: OK schema: $ref: '#/components/schemas/ApiError' description: User updated successfully "403": content: application/json: example: Message: Request body malformed Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Unmarshalling request body failed, malformed "404": content: application/json: example: Message: User not found Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: User not found "500": content: application/json: example: Message: Failed to read response body, body empty Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Could not read request body summary: Update user details tags: - Users /admin/users/{userId}/actions/allow_reset_passwords: put: description: Allow password reset for a User. operationId: allowResetPassword parameters: - description: User ID of the user whose password is being reset example: 614215edb2d47190f98b3b79 in: path name: userId required: true schema: type: string responses: "200": content: application/json: example: Message: User updated Meta: PWHistory: [] access_key: 68b225c4376748207453c235ed8e2a82 active: true created_at: "2021-09-15T15:49:01Z" email_address: john@test.com first_name: John group_id: "" id: 614215edb2d47190f98b3b79 last_login_date: "2021-09-15T15:49:49.754Z" last_name: Doe org_id: 60ef3a1dcb83670001bf2df9 password_max_days: 0 password_updated: "2021-09-15T15:49:01.863Z" user_permissions: IsAdmin: admin ResetPassword: admin Status: OK schema: $ref: '#/components/schemas/ApiError' description: OK "403": content: application/json: example: Message: Failed to update User object to DB Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Forbidden "404": content: application/json: example: Message: Could not retrieve user detail Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: User not found summary: Allow password reset for a User tags: - Users /admin/users/{userId}/actions/disallow_reset_passwords: put: description: Disallow password reset for a User. operationId: disallowResetPassword parameters: - description: User ID of the user whose password is being reset example: 614215edb2d47190f98b3b79 in: path name: userId required: true schema: type: string responses: "200": content: application/json: example: Message: User updated Meta: PWHistory: [] access_key: 68b225c4376748207453c235ed8e2a82 active: true created_at: "2021-09-15T15:49:01Z" email_address: john@test.com first_name: John group_id: "" id: 614215edb2d47190f98b3b79 last_login_date: "2021-09-15T15:49:49.754Z" last_name: Doe org_id: 60ef3a1dcb83670001bf2df9 password_max_days: 0 password_updated: "2021-09-15T15:49:01.863Z" user_permissions: IsAdmin: admin ResetPassword: admin Status: OK schema: $ref: '#/components/schemas/ApiError' description: OK "403": content: application/json: example: Message: Failed to update User object to DB Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: Forbidden "404": content: application/json: example: Message: Could not retrieve user detail Meta: null Status: Error schema: $ref: '#/components/schemas/ApiError' description: User not found summary: Disallow password reset for a User tags: - Users components: schemas: APIDefinition: properties: CORS: $ref: '#/components/schemas/CORSConfig' active: type: boolean allowed_ips: items: type: string nullable: true type: array analytics_plugin: $ref: '#/components/schemas/AnalyticsPluginConfig' api_id: type: string auth: $ref: '#/components/schemas/AuthConfig' auth_configs: additionalProperties: $ref: '#/components/schemas/AuthConfig' nullable: true type: object auth_provider: $ref: '#/components/schemas/AuthProviderMeta' base_identity_provided_by: type: string basic_auth: properties: body_password_regexp: type: string body_user_regexp: type: string cache_ttl: type: integer disable_caching: type: boolean extract_from_body: type: boolean type: object blacklisted_ips: items: type: string nullable: true type: array cache_options: $ref: '#/components/schemas/CacheOptions' certificate_pinning_disabled: type: boolean certificates: items: type: string nullable: true type: array client_certificates: items: type: string nullable: true type: array config_data: additionalProperties: {} nullable: true type: object config_data_disabled: type: boolean custom_middleware: $ref: '#/components/schemas/MiddlewareSection' custom_middleware_bundle: type: string custom_middleware_bundle_disabled: type: boolean custom_plugin_auth_enabled: type: boolean definition: $ref: '#/components/schemas/VersionDefinition' detailed_tracing: type: boolean disable_quota: type: boolean disable_rate_limit: type: boolean do_not_track: type: boolean domain: type: string domain_disabled: type: boolean dont_set_quota_on_create: type: boolean enable_batch_request_support: type: boolean enable_context_vars: type: boolean enable_coprocess_auth: type: boolean enable_detailed_recording: type: boolean enable_ip_blacklisting: type: boolean enable_ip_whitelisting: type: boolean enable_jwt: type: boolean enable_proxy_protocol: type: boolean enable_signature_checking: type: boolean event_handlers: $ref: '#/components/schemas/EventHandlerMetaConfig' expiration: type: string expire_analytics_after: format: int64 type: integer external_oauth: $ref: '#/components/schemas/ExternalOAuth' global_rate_limit: $ref: '#/components/schemas/GlobalRateLimit' graphql: $ref: '#/components/schemas/GraphQLConfig' hmac_allowed_algorithms: items: type: string nullable: true type: array hmac_allowed_clock_skew: format: double type: number id: type: string idp_client_id_mapping_disabled: type: boolean internal: type: boolean ip_access_control_disabled: type: boolean is_oas: type: boolean jwt_client_base_field: type: string jwt_default_policies: items: type: string nullable: true type: array jwt_expires_at_validation_skew: minimum: 0 type: integer jwt_identity_base_field: type: string jwt_issued_at_validation_skew: minimum: 0 type: integer jwt_not_before_validation_skew: minimum: 0 type: integer jwt_policy_field_name: type: string jwt_scope_claim_name: type: string jwt_scope_to_policy_mapping: additionalProperties: type: string nullable: true type: object jwt_signing_method: type: string jwt_skip_kid: type: boolean jwt_source: type: string listen_port: type: integer name: type: string notifications: $ref: '#/components/schemas/NotificationsManager' oauth_meta: properties: allowed_access_types: items: type: string nullable: true type: array allowed_authorize_types: items: type: string nullable: true type: array auth_login_redirect: type: string type: object openid_options: $ref: '#/components/schemas/OpenIDOptions' org_id: type: string pinned_public_keys: additionalProperties: type: string nullable: true type: object protocol: type: string proxy: $ref: '#/components/schemas/ProxyConfig' request_signing: $ref: '#/components/schemas/RequestSigningMeta' response_processors: items: $ref: '#/components/schemas/ResponseProcessor' nullable: true type: array scopes: $ref: '#/components/schemas/Scopes' session_lifetime: format: int64 type: integer session_lifetime_respects_key_expiration: type: boolean session_provider: $ref: '#/components/schemas/SessionProviderMeta' slug: type: string strip_auth_data: type: boolean tag_headers: items: type: string nullable: true type: array tags: items: type: string nullable: true type: array tags_disabled: type: boolean upstream_auth: $ref: '#/components/schemas/UpstreamAuth' upstream_certificates: additionalProperties: type: string nullable: true type: object upstream_certificates_disabled: type: boolean uptime_tests: $ref: '#/components/schemas/UptimeTests' use_basic_auth: type: boolean use_go_plugin_auth: type: boolean use_keyless: type: boolean use_mutual_tls_auth: type: boolean use_oauth2: type: boolean use_openid: type: boolean use_standard_auth: type: boolean version_data: $ref: '#/components/schemas/VersionData' type: object APILimit: nullable: true properties: max_query_depth: type: integer per: format: double type: number quota_max: format: int64 type: integer quota_remaining: format: int64 type: integer quota_renewal_rate: format: int64 type: integer quota_renews: format: int64 type: integer rate: format: double type: number set_by_policy: type: boolean smoothing: $ref: '#/components/schemas/RateLimitSmoothing' throttle_interval: format: double type: number throttle_retry_limit: type: integer type: object AccessDefinition: properties: allowance_scope: type: string allowed_types: items: $ref: '#/components/schemas/GraphqlType' nullable: true type: array allowed_urls: items: $ref: '#/components/schemas/AccessSpec' nullable: true type: array api_id: type: string api_name: type: string disable_introspection: type: boolean endpoints: items: $ref: '#/components/schemas/SessionEndpoint' type: array field_access_rights: items: $ref: '#/components/schemas/FieldAccessDefinition' nullable: true type: array limit: $ref: '#/components/schemas/APILimit' restricted_types: items: $ref: '#/components/schemas/GraphqlType' nullable: true type: array versions: items: type: string nullable: true type: array type: object AccessSpec: properties: methods: items: type: string nullable: true type: array url: type: string type: object AllKeys: properties: keys: items: type: string nullable: true type: array type: object AnalyticsPluginConfig: properties: enable: type: boolean func_name: type: string plugin_path: type: string type: object ApiDefinition: properties: api_definition: $ref: '#/components/schemas/APIDefinition' api_model: $ref: '#/components/schemas/ApiModel' categories: $ref: '#/components/schemas/Categories' created_at: format: date-time nullable: true type: string hook_references: items: $ref: '#/components/schemas/HookReference' nullable: true type: array is_site: type: boolean is_streams: type: boolean oas: $ref: '#/components/schemas/OAS' sort_by: type: integer updated_at: format: date-time nullable: true type: string user_group_owners: items: type: string nullable: true type: array user_owners: items: type: string nullable: true type: array type: object ApiDefinitions: properties: apis: items: $ref: '#/components/schemas/ApiDefinition' nullable: true type: array pages: type: integer type: object ApiDocument: properties: api_human_name: type: string api_id: type: string type: object ApiError: properties: ID: type: string Message: type: string Meta: {} Status: type: string type: object ApiModel: type: object ApiRegister: properties: organisations: items: $ref: '#/components/schemas/OrganisationDocument' nullable: true type: array pages: type: integer type: object AuthConfig: properties: auth_header_name: type: string cookie_name: type: string disable_header: type: boolean name: type: string param_name: type: string signature: $ref: '#/components/schemas/SignatureConfig' use_certificate: type: boolean use_cookie: type: boolean use_param: type: boolean validate_signature: type: boolean type: object AuthProviderMeta: properties: meta: additionalProperties: {} nullable: true type: object name: type: string storage_engine: type: string type: object AuthSource: properties: enabled: type: boolean name: type: string type: object CORSConfig: properties: allow_credentials: type: boolean allowed_headers: items: type: string nullable: true type: array allowed_methods: items: type: string nullable: true type: array allowed_origins: items: type: string nullable: true type: array debug: type: boolean enable: type: boolean exposed_headers: items: type: string nullable: true type: array max_age: type: integer options_passthrough: type: boolean type: object CacheMeta: properties: cache_key_regex: type: string cache_response_codes: items: type: integer nullable: true type: array disabled: type: boolean method: type: string path: type: string timeout: format: int64 type: integer type: object CacheOptions: properties: cache_all_safe_requests: type: boolean cache_by_headers: items: type: string nullable: true type: array cache_control_ttl_header: type: string cache_response_codes: items: type: integer nullable: true type: array cache_timeout: format: int64 type: integer enable_cache: type: boolean enable_upstream_cache_control: type: boolean type: object Categories: items: type: string type: array CheckCommand: properties: message: type: string name: type: string type: object CircuitBreakerMeta: properties: disable_half_open_state: type: boolean disabled: type: boolean method: type: string path: type: string return_to_service_after: type: integer samples: format: int64 type: integer threshold_percent: format: double type: number type: object ClientCredentials: properties: client_id: type: string client_secret: type: string extra_metadata: items: type: string type: array header: $ref: '#/components/schemas/AuthSource' scopes: items: type: string type: array token_url: type: string type: object ConfigHubspotForm: properties: form_id: type: string portal_id: type: string region: type: string type: object ConfigLabsConfig: nullable: true properties: streaming: additionalProperties: {} nullable: true type: object type: object ConfigOnboarding: properties: enabled: type: boolean type: object ConfigTrial: properties: end_date: format: int64 type: integer hubspot_form: $ref: '#/components/schemas/ConfigHubspotForm' type: object ConfigUIOptions: properties: cloud: type: boolean cloudmenu: type: boolean default_lang: type: string designer: additionalProperties: {} nullable: true type: object dev: type: boolean dont_allow_license_management: type: boolean dont_allow_license_management_view: type: boolean dont_show_admin_sockets: type: boolean hide_help: type: boolean labs: $ref: '#/components/schemas/ConfigLabsConfig' languages: additionalProperties: type: string nullable: true type: object login_page: additionalProperties: {} nullable: true type: object nav: additionalProperties: {} nullable: true type: object onboarding: $ref: '#/components/schemas/ConfigOnboarding' portal_section: additionalProperties: {} nullable: true type: object trial: $ref: '#/components/schemas/ConfigTrial' uptime: additionalProperties: {} nullable: true type: object type: object ConfigUserPermissionObject: additionalProperties: type: string type: object DBAccessDefinition: properties: allowed_types: items: $ref: '#/components/schemas/GraphqlType' nullable: true type: array allowed_urls: items: $ref: '#/components/schemas/AccessSpec' nullable: true type: array api_id: type: string api_name: type: string disable_introspection: type: boolean endpoints: items: $ref: '#/components/schemas/SessionEndpoint' type: array restricted_types: items: $ref: '#/components/schemas/GraphqlType' nullable: true type: array versions: items: type: string nullable: true type: array type: object DBPolicy: properties: _id: type: string access_rights: additionalProperties: $ref: '#/components/schemas/DBAccessDefinition' nullable: true type: object active: type: boolean date_created: format: date-time type: string hmac_enabled: type: boolean id: type: string is_inactive: type: boolean key_expires_in: format: int64 type: integer last_updated: type: string max_query_depth: type: integer meta_data: additionalProperties: {} nullable: true type: object name: type: string org_id: type: string partitions: properties: acl: type: boolean complexity: type: boolean per_api: type: boolean quota: type: boolean rate_limit: type: boolean type: object per: format: double type: number quota_max: format: int64 type: integer quota_renewal_rate: format: int64 type: integer rate: format: double type: number smoothing: $ref: '#/components/schemas/RateLimitSmoothing' tags: items: type: string nullable: true type: array throttle_interval: format: double type: number throttle_retry_limit: type: integer type: object DatasourceMappingConfiguration: nullable: true properties: disabled: type: boolean path: type: string type: object DatasourceSourceConfig: properties: data_source_config: {} kind: type: string type: object DatasourceTypeFieldConfiguration: properties: data_source: $ref: '#/components/schemas/DatasourceSourceConfig' field_name: type: string mapping: $ref: '#/components/schemas/DatasourceMappingConfiguration' type_name: type: string type: object EndPointMeta: properties: disabled: type: boolean ignore_case: type: boolean method: type: string method_actions: additionalProperties: $ref: '#/components/schemas/EndpointMethodMeta' type: object path: type: string type: object EndpointMethodMeta: properties: action: type: string code: type: integer data: type: string headers: additionalProperties: type: string nullable: true type: object type: object EventConfig: properties: email: type: string redis: type: boolean webhook: type: string type: object EventHandlerMetaConfig: properties: events: additionalProperties: items: $ref: '#/components/schemas/EventHandlerTriggerConfig' type: array nullable: true type: object type: object EventHandlerTriggerConfig: properties: handler_meta: additionalProperties: {} nullable: true type: object handler_name: type: string type: object ExtendedPathsSet: properties: advance_cache_config: items: $ref: '#/components/schemas/CacheMeta' type: array black_list: items: $ref: '#/components/schemas/EndPointMeta' type: array cache: items: type: string type: array circuit_breakers: items: $ref: '#/components/schemas/CircuitBreakerMeta' type: array do_not_track_endpoints: items: $ref: '#/components/schemas/TrackEndpointMeta' type: array go_plugin: items: $ref: '#/components/schemas/GoPluginMeta' type: array hard_timeouts: items: $ref: '#/components/schemas/HardTimeoutMeta' type: array ignored: items: $ref: '#/components/schemas/EndPointMeta' type: array internal: items: $ref: '#/components/schemas/InternalMeta' type: array method_transforms: items: $ref: '#/components/schemas/MethodTransformMeta' type: array mock_response: items: $ref: '#/components/schemas/MockResponseMeta' type: array persist_graphql: items: $ref: '#/components/schemas/PersistGraphQLMeta' nullable: true type: array rate_limit: items: $ref: '#/components/schemas/RateLimitMeta' nullable: true type: array size_limits: items: $ref: '#/components/schemas/RequestSizeMeta' type: array track_endpoints: items: $ref: '#/components/schemas/TrackEndpointMeta' type: array transform: items: $ref: '#/components/schemas/TemplateMeta' type: array transform_headers: items: $ref: '#/components/schemas/HeaderInjectionMeta' type: array transform_jq: items: $ref: '#/components/schemas/TransformJQMeta' type: array transform_jq_response: items: $ref: '#/components/schemas/TransformJQMeta' type: array transform_response: items: $ref: '#/components/schemas/TemplateMeta' type: array transform_response_headers: items: $ref: '#/components/schemas/HeaderInjectionMeta' type: array url_rewrites: items: $ref: '#/components/schemas/URLRewriteMeta' type: array validate_json: items: $ref: '#/components/schemas/ValidatePathMeta' type: array validate_request: items: $ref: '#/components/schemas/ValidateRequestMeta' type: array virtual: items: $ref: '#/components/schemas/VirtualMeta' type: array white_list: items: $ref: '#/components/schemas/EndPointMeta' type: array type: object ExternalOAuth: properties: enabled: type: boolean providers: items: $ref: '#/components/schemas/Provider' nullable: true type: array type: object FieldAccessDefinition: properties: field_name: type: string limits: $ref: '#/components/schemas/FieldLimits' type_name: type: string type: object FieldLimits: properties: max_query_depth: type: integer type: object FormDataCreateDomainRequest: properties: domain: description: Domain to register example: tyk.io type: string type: object GlobalRateLimit: properties: disabled: type: boolean per: format: double type: number rate: format: double type: number type: object GoPluginMeta: properties: disabled: type: boolean func_name: type: string method: type: string path: type: string plugin_path: type: string type: object GraphQLConfig: properties: enabled: type: boolean engine: $ref: '#/components/schemas/GraphQLEngineConfig' execution_mode: type: string introspection: $ref: '#/components/schemas/GraphQLIntrospectionConfig' last_schema_update: format: date-time nullable: true type: string playground: $ref: '#/components/schemas/GraphQLPlayground' proxy: $ref: '#/components/schemas/GraphQLProxyConfig' schema: type: string subgraph: $ref: '#/components/schemas/GraphQLSubgraphConfig' supergraph: $ref: '#/components/schemas/GraphQLSupergraphConfig' type_field_configurations: items: $ref: '#/components/schemas/DatasourceTypeFieldConfiguration' nullable: true type: array version: type: string type: object GraphQLEngineConfig: properties: data_sources: items: $ref: '#/components/schemas/GraphQLEngineDataSource' nullable: true type: array field_configs: items: $ref: '#/components/schemas/GraphQLFieldConfig' nullable: true type: array global_headers: items: $ref: '#/components/schemas/UDGGlobalHeader' nullable: true type: array type: object GraphQLEngineDataSource: properties: config: {} internal: type: boolean kind: type: string name: type: string root_fields: items: $ref: '#/components/schemas/GraphQLTypeFields' nullable: true type: array type: object GraphQLFieldConfig: properties: disable_default_mapping: type: boolean field_name: type: string path: items: type: string nullable: true type: array type_name: type: string type: object GraphQLIntrospectionConfig: properties: disabled: type: boolean type: object GraphQLPlayground: properties: enabled: type: boolean path: type: string type: object GraphQLProxyConfig: properties: auth_headers: additionalProperties: type: string nullable: true type: object features: $ref: '#/components/schemas/GraphQLProxyFeaturesConfig' request_headers: additionalProperties: type: string nullable: true type: object request_headers_rewrite: additionalProperties: $ref: '#/components/schemas/RequestHeadersRewriteConfig' nullable: true type: object subscription_type: type: string use_response_extensions: $ref: '#/components/schemas/GraphQLResponseExtensions' type: object GraphQLProxyFeaturesConfig: properties: use_immutable_headers: type: boolean type: object GraphQLResponseExtensions: properties: on_error_forwarding: type: boolean type: object GraphQLSubgraphConfig: properties: sdl: type: string type: object GraphQLSubgraphEntity: properties: api_id: type: string headers: additionalProperties: type: string nullable: true type: object name: type: string sdl: type: string subscription_type: type: string url: type: string type: object GraphQLSupergraphConfig: properties: disable_query_batching: type: boolean global_headers: additionalProperties: type: string nullable: true type: object merged_sdl: type: string subgraphs: items: $ref: '#/components/schemas/GraphQLSubgraphEntity' nullable: true type: array updated_at: format: date-time nullable: true type: string type: object GraphQLTypeFields: properties: fields: items: type: string nullable: true type: array type: type: string type: object GraphqlType: properties: fields: items: type: string nullable: true type: array name: type: string type: object HardTimeoutMeta: properties: disabled: type: boolean method: type: string path: type: string timeout: type: integer type: object HeaderInjectionMeta: properties: act_on: type: boolean add_headers: additionalProperties: type: string nullable: true type: object delete_headers: items: type: string nullable: true type: array disabled: type: boolean method: type: string path: type: string type: object HookReference: properties: event_name: type: string event_timeout: format: int64 type: integer hook: $ref: '#/components/schemas/WebHookHandlerConf' type: object HostCheckObject: properties: body: type: string commands: items: $ref: '#/components/schemas/CheckCommand' nullable: true type: array enable_proxy_protocol: type: boolean headers: additionalProperties: type: string nullable: true type: object method: type: string protocol: type: string timeout: $ref: '#/components/schemas/TimeDuration' url: type: string type: object ImportDataStruct: properties: Data: items: $ref: '#/components/schemas/DBPolicy' nullable: true type: array Pages: type: integer type: object InternalMeta: properties: disabled: type: boolean method: type: string path: type: string type: object Introspection: properties: cache: $ref: '#/components/schemas/IntrospectionCache' client_id: type: string client_secret: type: string enabled: type: boolean identity_base_field: type: string url: type: string type: object IntrospectionCache: properties: enabled: type: boolean timeout: format: int64 type: integer type: object JWTValidation: properties: enabled: type: boolean expires_at_validation_skew: minimum: 0 type: integer identity_base_field: type: string issued_at_validation_skew: minimum: 0 type: integer not_before_validation_skew: minimum: 0 type: integer signing_method: type: string source: type: string type: object KeyData: properties: api_model: $ref: '#/components/schemas/ApiModel' data: $ref: '#/components/schemas/SessionState' key_hash: type: string key_id: type: string type: object Keys: properties: data: $ref: '#/components/schemas/AllKeys' pages: type: integer type: object MethodTransformMeta: properties: disabled: type: boolean method: type: string path: type: string to_method: type: string type: object MiddlewareDefinition: properties: disabled: type: boolean name: type: string path: type: string raw_body_only: type: boolean require_session: type: boolean type: object MiddlewareIdExtractor: properties: disabled: type: boolean extract_from: type: string extract_with: type: string extractor_config: additionalProperties: {} nullable: true type: object type: object MiddlewareSection: properties: auth_check: $ref: '#/components/schemas/MiddlewareDefinition' driver: type: string id_extractor: $ref: '#/components/schemas/MiddlewareIdExtractor' post: items: $ref: '#/components/schemas/MiddlewareDefinition' nullable: true type: array post_key_auth: items: $ref: '#/components/schemas/MiddlewareDefinition' nullable: true type: array pre: items: $ref: '#/components/schemas/MiddlewareDefinition' nullable: true type: array response: items: $ref: '#/components/schemas/MiddlewareDefinition' nullable: true type: array type: object MockResponseMeta: properties: body: type: string code: type: integer disabled: type: boolean headers: additionalProperties: type: string nullable: true type: object ignore_case: type: boolean method: type: string path: type: string type: object NotificationsManager: properties: oauth_on_keychange_url: type: string shared_secret: type: string type: object OAS: nullable: true properties: components: $ref: '#/components/schemas/Openapi3Components' externalDocs: $ref: '#/components/schemas/Openapi3ExternalDocs' info: $ref: '#/components/schemas/Openapi3Info' openapi: type: string paths: $ref: '#/components/schemas/Openapi3Paths' security: $ref: '#/components/schemas/Openapi3SecurityRequirements' servers: $ref: '#/components/schemas/Openapi3Servers' tags: $ref: '#/components/schemas/Openapi3Tags' type: object OIDProviderConfig: properties: client_ids: additionalProperties: type: string nullable: true type: object issuer: type: string type: object OpenIDOptions: properties: providers: items: $ref: '#/components/schemas/OIDProviderConfig' nullable: true type: array segregate_by_client: type: boolean type: object OpenPolicyConf: properties: enabled: type: boolean rules: type: string type: object Openapi3AdditionalProperties: properties: Has: nullable: true type: boolean Schema: $ref: '#/components/schemas/Openapi3SchemaRef' type: object Openapi3Callback: additionalProperties: $ref: '#/components/schemas/Openapi3PathItem' nullable: true type: object Openapi3CallbackRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3Callback' type: object Openapi3Callbacks: additionalProperties: $ref: '#/components/schemas/Openapi3CallbackRef' type: object Openapi3Components: nullable: true properties: callbacks: $ref: '#/components/schemas/Openapi3Callbacks' examples: $ref: '#/components/schemas/Openapi3Examples' headers: $ref: '#/components/schemas/Openapi3Headers' links: $ref: '#/components/schemas/Openapi3Links' parameters: $ref: '#/components/schemas/Openapi3ParametersMap' requestBodies: $ref: '#/components/schemas/Openapi3RequestBodies' responses: $ref: '#/components/schemas/Openapi3Responses' schemas: $ref: '#/components/schemas/Openapi3Schemas' securitySchemes: $ref: '#/components/schemas/Openapi3SecuritySchemes' type: object Openapi3Contact: nullable: true properties: email: type: string name: type: string url: type: string type: object Openapi3Content: additionalProperties: $ref: '#/components/schemas/Openapi3MediaType' type: object Openapi3Discriminator: nullable: true properties: mapping: additionalProperties: type: string type: object propertyName: type: string type: object Openapi3Encoding: properties: allowReserved: type: boolean contentType: type: string explode: nullable: true type: boolean headers: $ref: '#/components/schemas/Openapi3Headers' style: type: string type: object Openapi3Example: nullable: true properties: description: type: string externalValue: type: string summary: type: string value: {} type: object Openapi3ExampleRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3Example' type: object Openapi3Examples: additionalProperties: $ref: '#/components/schemas/Openapi3ExampleRef' type: object Openapi3ExternalDocs: nullable: true properties: description: type: string url: type: string type: object Openapi3Header: nullable: true properties: allowEmptyValue: type: boolean allowReserved: type: boolean content: $ref: '#/components/schemas/Openapi3Content' deprecated: type: boolean description: type: string example: {} examples: $ref: '#/components/schemas/Openapi3Examples' explode: nullable: true type: boolean in: type: string name: type: string required: type: boolean schema: $ref: '#/components/schemas/Openapi3SchemaRef' style: type: string type: object Openapi3HeaderRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3Header' type: object Openapi3Headers: additionalProperties: $ref: '#/components/schemas/Openapi3HeaderRef' type: object Openapi3Info: nullable: true properties: contact: $ref: '#/components/schemas/Openapi3Contact' description: type: string license: $ref: '#/components/schemas/Openapi3License' termsOfService: type: string title: type: string version: type: string type: object Openapi3License: nullable: true properties: name: type: string url: type: string type: object Openapi3Link: nullable: true properties: description: type: string operationId: type: string operationRef: type: string parameters: additionalProperties: {} type: object requestBody: {} server: $ref: '#/components/schemas/Openapi3Server' type: object Openapi3LinkRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3Link' type: object Openapi3Links: additionalProperties: $ref: '#/components/schemas/Openapi3LinkRef' type: object Openapi3MediaType: properties: encoding: additionalProperties: $ref: '#/components/schemas/Openapi3Encoding' type: object example: {} examples: $ref: '#/components/schemas/Openapi3Examples' schema: $ref: '#/components/schemas/Openapi3SchemaRef' type: object Openapi3OAuthFlow: nullable: true properties: authorizationUrl: type: string refreshUrl: type: string scopes: additionalProperties: type: string nullable: true type: object tokenUrl: type: string type: object Openapi3OAuthFlows: nullable: true properties: authorizationCode: $ref: '#/components/schemas/Openapi3OAuthFlow' clientCredentials: $ref: '#/components/schemas/Openapi3OAuthFlow' implicit: $ref: '#/components/schemas/Openapi3OAuthFlow' password: $ref: '#/components/schemas/Openapi3OAuthFlow' type: object Openapi3Operation: nullable: true properties: callbacks: $ref: '#/components/schemas/Openapi3Callbacks' deprecated: type: boolean description: type: string externalDocs: $ref: '#/components/schemas/Openapi3ExternalDocs' operationId: type: string parameters: $ref: '#/components/schemas/Openapi3Parameters' requestBody: $ref: '#/components/schemas/Openapi3RequestBodyRef' responses: $ref: '#/components/schemas/Openapi3Responses' security: $ref: '#/components/schemas/Openapi3SecurityRequirements' servers: $ref: '#/components/schemas/Openapi3Servers' summary: type: string tags: items: type: string type: array type: object Openapi3Parameter: nullable: true properties: allowEmptyValue: type: boolean allowReserved: type: boolean content: $ref: '#/components/schemas/Openapi3Content' deprecated: type: boolean description: type: string example: {} examples: $ref: '#/components/schemas/Openapi3Examples' explode: nullable: true type: boolean in: type: string name: type: string required: type: boolean schema: $ref: '#/components/schemas/Openapi3SchemaRef' style: type: string type: object Openapi3ParameterRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3Parameter' type: object Openapi3Parameters: items: $ref: '#/components/schemas/Openapi3ParameterRef' type: array Openapi3ParametersMap: additionalProperties: $ref: '#/components/schemas/Openapi3ParameterRef' type: object Openapi3PathItem: properties: $ref: type: string connect: $ref: '#/components/schemas/Openapi3Operation' delete: $ref: '#/components/schemas/Openapi3Operation' description: type: string get: $ref: '#/components/schemas/Openapi3Operation' head: $ref: '#/components/schemas/Openapi3Operation' options: $ref: '#/components/schemas/Openapi3Operation' parameters: $ref: '#/components/schemas/Openapi3Parameters' patch: $ref: '#/components/schemas/Openapi3Operation' post: $ref: '#/components/schemas/Openapi3Operation' put: $ref: '#/components/schemas/Openapi3Operation' servers: $ref: '#/components/schemas/Openapi3Servers' summary: type: string trace: $ref: '#/components/schemas/Openapi3Operation' type: object Openapi3Paths: additionalProperties: $ref: '#/components/schemas/Openapi3PathItem' type: object Openapi3RequestBodies: additionalProperties: $ref: '#/components/schemas/Openapi3RequestBodyRef' type: object Openapi3RequestBody: nullable: true properties: content: $ref: '#/components/schemas/Openapi3Content' description: type: string required: type: boolean type: object Openapi3RequestBodyRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3RequestBody' type: object Openapi3Response: nullable: true properties: content: $ref: '#/components/schemas/Openapi3Content' description: nullable: true type: string headers: $ref: '#/components/schemas/Openapi3Headers' links: $ref: '#/components/schemas/Openapi3Links' type: object Openapi3ResponseRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3Response' type: object Openapi3Responses: additionalProperties: $ref: '#/components/schemas/Openapi3ResponseRef' type: object Openapi3Schema: nullable: true properties: additionalProperties: $ref: '#/components/schemas/Openapi3AdditionalProperties' allOf: $ref: '#/components/schemas/Openapi3SchemaRefs' allowEmptyValue: type: boolean anyOf: $ref: '#/components/schemas/Openapi3SchemaRefs' default: {} deprecated: type: boolean description: type: string discriminator: $ref: '#/components/schemas/Openapi3Discriminator' enum: items: {} type: array example: {} exclusiveMaximum: type: boolean exclusiveMinimum: type: boolean externalDocs: $ref: '#/components/schemas/Openapi3ExternalDocs' format: type: string items: $ref: '#/components/schemas/Openapi3SchemaRef' maxItems: minimum: 0 nullable: true type: integer maxLength: minimum: 0 nullable: true type: integer maxProperties: minimum: 0 nullable: true type: integer maximum: nullable: true type: number minItems: minimum: 0 type: integer minLength: minimum: 0 type: integer minProperties: minimum: 0 type: integer minimum: nullable: true type: number multipleOf: nullable: true type: number not: $ref: '#/components/schemas/Openapi3SchemaRef' nullable: type: boolean oneOf: $ref: '#/components/schemas/Openapi3SchemaRefs' pattern: type: string properties: $ref: '#/components/schemas/Openapi3Schemas' readOnly: type: boolean required: items: type: string type: array title: type: string type: type: string uniqueItems: type: boolean writeOnly: type: boolean xml: $ref: '#/components/schemas/Openapi3XML' type: object Openapi3SchemaRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3Schema' type: object Openapi3SchemaRefs: items: $ref: '#/components/schemas/Openapi3SchemaRef' type: array Openapi3Schemas: additionalProperties: $ref: '#/components/schemas/Openapi3SchemaRef' type: object Openapi3SecurityRequirement: additionalProperties: items: type: string type: array type: object Openapi3SecurityRequirements: items: $ref: '#/components/schemas/Openapi3SecurityRequirement' nullable: true type: array Openapi3SecurityScheme: nullable: true properties: bearerFormat: type: string description: type: string flows: $ref: '#/components/schemas/Openapi3OAuthFlows' in: type: string name: type: string openIdConnectUrl: type: string scheme: type: string type: type: string type: object Openapi3SecuritySchemeRef: properties: Ref: type: string Value: $ref: '#/components/schemas/Openapi3SecurityScheme' type: object Openapi3SecuritySchemes: additionalProperties: $ref: '#/components/schemas/Openapi3SecuritySchemeRef' type: object Openapi3Server: nullable: true properties: description: type: string url: type: string variables: additionalProperties: $ref: '#/components/schemas/Openapi3ServerVariable' type: object type: object Openapi3ServerVariable: properties: default: type: string description: type: string enum: items: type: string type: array type: object Openapi3Servers: items: $ref: '#/components/schemas/Openapi3Server' nullable: true type: array Openapi3Tag: properties: description: type: string externalDocs: $ref: '#/components/schemas/Openapi3ExternalDocs' name: type: string type: object Openapi3Tags: items: $ref: '#/components/schemas/Openapi3Tag' type: array Openapi3XML: nullable: true properties: attribute: type: boolean name: type: string namespace: type: string prefix: type: string wrapped: type: boolean type: object OrganisationDocument: properties: additional_permissions: additionalProperties: type: string nullable: true type: object apis: items: $ref: '#/components/schemas/ApiDocument' nullable: true type: array cname: type: string cname_enabled: type: boolean developer_count: type: integer developer_quota: type: integer event_options: additionalProperties: $ref: '#/components/schemas/EventConfig' nullable: true type: object hybrid_enabled: type: boolean id: type: string open_policy: $ref: '#/components/schemas/OpenPolicyConf' org_options_meta: additionalProperties: {} nullable: true type: object owner_name: type: string owner_slug: type: string sso_enabled: type: boolean ui: $ref: '#/components/schemas/ConfigUIOptions' type: object PasswordAuthentication: properties: client_id: type: string client_secret: type: string extra_metadata: items: type: string type: array header: $ref: '#/components/schemas/AuthSource' password: type: string scopes: items: type: string type: array token_url: type: string username: type: string type: object PersistGraphQLMeta: properties: method: type: string operation: type: string path: type: string variables: additionalProperties: {} nullable: true type: object type: object Provider: properties: introspection: $ref: '#/components/schemas/Introspection' jwt: $ref: '#/components/schemas/JWTValidation' type: object ProxyConfig: properties: check_host_against_uptime_tests: type: boolean disable_strip_slash: type: boolean enable_load_balancing: type: boolean listen_path: type: string preserve_host_header: type: boolean service_discovery: $ref: '#/components/schemas/ServiceDiscoveryConfiguration' strip_listen_path: type: boolean target_list: items: type: string nullable: true type: array target_url: type: string transport: properties: proxy_url: type: string ssl_ciphers: items: type: string nullable: true type: array ssl_force_common_name_check: type: boolean ssl_insecure_skip_verify: type: boolean ssl_max_version: minimum: 0 type: integer ssl_min_version: minimum: 0 type: integer type: object type: object RateLimitMeta: properties: disabled: type: boolean method: type: string path: type: string per: format: double type: number rate: format: double type: number type: object RateLimitSmoothing: nullable: true properties: delay: format: int64 type: integer enabled: type: boolean step: format: int64 type: integer threshold: format: int64 type: integer trigger: format: double type: number type: object ReloadResponse: properties: status: type: string type: object RequestHeadersRewriteConfig: properties: remove: type: boolean value: type: string type: object RequestSigningMeta: properties: algorithm: type: string certificate_id: type: string header_list: items: type: string nullable: true type: array is_enabled: type: boolean key_id: type: string secret: type: string signature_header: type: string type: object RequestSizeMeta: properties: disabled: type: boolean method: type: string path: type: string size_limit: format: int64 type: integer type: object ResponseProcessor: properties: name: type: string options: {} type: object RoutingTrigger: properties: "on": type: string options: $ref: '#/components/schemas/RoutingTriggerOptions' rewrite_to: type: string type: object RoutingTriggerOptions: properties: header_matches: additionalProperties: $ref: '#/components/schemas/StringRegexMap' nullable: true type: object path_part_matches: additionalProperties: $ref: '#/components/schemas/StringRegexMap' nullable: true type: object payload_matches: $ref: '#/components/schemas/StringRegexMap' query_val_matches: additionalProperties: $ref: '#/components/schemas/StringRegexMap' nullable: true type: object request_context_matches: additionalProperties: $ref: '#/components/schemas/StringRegexMap' nullable: true type: object session_meta_matches: additionalProperties: $ref: '#/components/schemas/StringRegexMap' nullable: true type: object type: object SSOAccessData: properties: DisplayName: type: string EmailAddress: type: string ForSection: type: string GroupID: type: string GroupsIDs: items: type: string nullable: true type: array OrgID: type: string SSOOnlyForRegisteredUsers: type: boolean UserNotAllowed: type: boolean type: object ScopeClaim: properties: scope_claim_name: type: string scope_to_policy: additionalProperties: type: string type: object type: object Scopes: properties: jwt: $ref: '#/components/schemas/ScopeClaim' oidc: $ref: '#/components/schemas/ScopeClaim' type: object ServiceDiscoveryConfiguration: properties: cache_disabled: type: boolean cache_timeout: format: int64 type: integer data_path: type: string endpoint_returns_list: type: boolean parent_data_path: type: string port_data_path: type: string query_endpoint: type: string target_path: type: string use_discovery_service: type: boolean use_nested_query: type: boolean use_target_list: type: boolean type: object SessionEndpoint: properties: methods: items: $ref: '#/components/schemas/SessionEndpointMethod' type: array path: type: string type: object SessionEndpointMethod: properties: limit: $ref: '#/components/schemas/SessionEndpointRateLimit' name: type: string type: object SessionEndpointRateLimit: properties: per: format: int64 type: integer rate: format: int64 type: integer type: object SessionProviderMeta: properties: meta: additionalProperties: {} nullable: true type: object name: type: string storage_engine: type: string type: object SessionState: properties: access_rights: additionalProperties: $ref: '#/components/schemas/AccessDefinition' nullable: true type: object alias: type: string allowance: format: double type: number apply_policies: items: type: string nullable: true type: array apply_policy_id: type: string basic_auth_data: properties: hash_type: type: string password: type: string user: type: string type: object certificate: type: string data_expires: format: int64 type: integer date_created: format: date-time type: string enable_detailed_recording: type: boolean expires: format: int64 type: integer hmac_enabled: type: boolean hmac_string: type: string id_extractor_deadline: format: int64 type: integer is_inactive: type: boolean jwt_data: properties: secret: type: string type: object key_id: type: string last_check: format: int64 type: integer last_updated: type: string max_query_depth: type: integer meta_data: {} monitor: properties: trigger_limits: items: format: double type: number nullable: true type: array type: object oauth_client_id: type: string oauth_keys: additionalProperties: type: string nullable: true type: object org_id: type: string per: format: double type: number quota_max: format: int64 type: integer quota_remaining: format: int64 type: integer quota_renewal_rate: format: int64 type: integer quota_renews: format: int64 type: integer rate: format: double type: number session_lifetime: format: int64 type: integer smoothing: $ref: '#/components/schemas/RateLimitSmoothing' tags: items: type: string nullable: true type: array throttle_interval: format: double type: number throttle_retry_limit: type: integer type: object SignatureConfig: properties: algorithm: type: string allowed_clock_skew: format: int64 type: integer error_code: type: integer error_message: type: string header: type: string param_name: type: string secret: type: string use_param: type: boolean type: object StringRegexMap: properties: match_rx: type: string reverse: type: boolean type: object TemplateData: properties: enable_session: type: boolean input_type: type: string template_mode: type: string template_source: type: string type: object TemplateMeta: properties: disabled: type: boolean method: type: string path: type: string template_data: $ref: '#/components/schemas/TemplateData' type: object TimeDuration: format: int64 type: integer TrackEndpointMeta: properties: disabled: type: boolean method: type: string path: type: string type: object TransformJQMeta: properties: filter: type: string method: type: string path: type: string type: object UDGGlobalHeader: properties: key: type: string value: type: string type: object URLRewriteMeta: properties: disabled: type: boolean match_pattern: type: string method: type: string path: type: string rewrite_to: type: string triggers: items: $ref: '#/components/schemas/RoutingTrigger' nullable: true type: array type: object UpstreamAuth: properties: basic_auth: $ref: '#/components/schemas/UpstreamBasicAuth' enabled: type: boolean oauth: $ref: '#/components/schemas/UpstreamOAuth' type: object UpstreamBasicAuth: properties: enabled: type: boolean header: $ref: '#/components/schemas/AuthSource' password: type: string username: type: string type: object UpstreamOAuth: properties: allowed_authorize_types: items: type: string nullable: true type: array client_credentials: $ref: '#/components/schemas/ClientCredentials' enabled: type: boolean password: $ref: '#/components/schemas/PasswordAuthentication' type: object UptimeTests: properties: check_list: items: $ref: '#/components/schemas/HostCheckObject' nullable: true type: array config: $ref: '#/components/schemas/UptimeTestsConfig' type: object UptimeTestsConfig: properties: expire_utime_after: format: int64 type: integer recheck_wait: type: integer service_discovery: $ref: '#/components/schemas/ServiceDiscoveryConfiguration' type: object User: properties: access_key: type: string active: type: boolean api_model: $ref: '#/components/schemas/ApiModel' email_address: type: string first_name: type: string group_id: type: string id: type: string last_login_date: format: date-time type: string last_name: type: string org_id: type: string password_max_days: type: integer password_updated: format: date-time type: string user_permissions: $ref: '#/components/schemas/ConfigUserPermissionObject' type: object ValidatePathMeta: properties: disabled: type: boolean error_response_code: type: integer method: type: string path: type: string schema: additionalProperties: {} nullable: true type: object schema_b64: type: string type: object ValidateRequestMeta: properties: enabled: type: boolean error_response_code: type: integer method: type: string path: type: string type: object VersionData: properties: default_version: type: string not_versioned: type: boolean versions: additionalProperties: $ref: '#/components/schemas/VersionInfo' nullable: true type: object type: object VersionDefinition: properties: default: type: string enabled: type: boolean fallback_to_default: type: boolean key: type: string location: type: string name: type: string strip_path: type: boolean strip_versioning_data: type: boolean url_versioning_pattern: type: string versions: additionalProperties: type: string nullable: true type: object type: object VersionInfo: properties: expires: type: string extended_paths: $ref: '#/components/schemas/ExtendedPathsSet' global_headers: additionalProperties: type: string nullable: true type: object global_headers_disabled: type: boolean global_headers_remove: items: type: string nullable: true type: array global_response_headers: additionalProperties: type: string nullable: true type: object global_response_headers_disabled: type: boolean global_response_headers_remove: items: type: string nullable: true type: array global_size_limit: format: int64 type: integer global_size_limit_disabled: type: boolean ignore_endpoint_case: type: boolean name: type: string override_target: type: string paths: properties: black_list: items: type: string nullable: true type: array ignored: items: type: string nullable: true type: array white_list: items: type: string nullable: true type: array type: object use_extended_paths: type: boolean type: object VirtualMeta: properties: disabled: type: boolean function_source_type: type: string function_source_uri: type: string method: type: string path: type: string proxy_on_error: type: boolean response_function_name: type: string use_session: type: boolean type: object WebHookHandlerConf: properties: api_model: $ref: '#/components/schemas/ApiModel' event_timeout: format: int64 type: integer header_map: additionalProperties: type: string nullable: true type: object id: type: string method: type: string name: type: string org_id: type: string target_path: type: string template_path: type: string webhook_id: type: string type: object securitySchemes: api_key: description: Api key in: header name: Admin-Auth type: apiKey