{ "openapi": "3.0.3", "info": { "title": "AAP gateway API", "version": "v1", "description": "AAP gateway API" }, "paths": { "/api/": { "get": { "operationId": "api_retrieve", "tags": [ "api" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] }, {} ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/api_root_view" } } }, "description": "" } }, "x-ai-description": "Retrieve single api" } }, "/api/gateway/": { "get": { "operationId": "api_gateway_retrieve", "tags": [ "api" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] }, {} ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/api_gateway_root_view" } } }, "description": "" } }, "x-ai-description": "Retrieve single api gateway" } }, "/api/gateway/v1/": { "get": { "operationId": "root_retrieve", "description": "This responds to GET requests made to it with a sorted list of available API endpoints", "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] }, {} ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": {} } } }, "description": "" } }, "x-ai-description": "Retrieve single root" } }, "/api/gateway/v1/activitystream/": { "get": { "operationId": "activitystream_list", "description": "API endpoint that allows for read-only access to activity stream entries.", "parameters": [ { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "activitystream" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedEntryList" } } }, "description": "" } }, "x-ai-description": "List audit trail entries for tracking system changes and user actions" } }, "/api/gateway/v1/activitystream/{id}/": { "get": { "operationId": "activitystream_retrieve", "description": "API endpoint that allows for read-only access to activity stream entries.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this entry.", "required": true } ], "tags": [ "activitystream" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Entry" } } }, "description": "" } }, "x-ai-description": "Retrieve a audit trail entry for tracking system changes and user actions" } }, "/api/gateway/v1/app_urls/": { "get": { "operationId": "app_urls_list", "description": "API endpoint that allows oauth apps to be listed for name and app_url", "parameters": [ { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "app_urls" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAppUrlList" } } }, "description": "" } }, "x-ai-description": "List all app urls" } }, "/api/gateway/v1/applications/": { "get": { "operationId": "applications_list", "parameters": [ { "in": "query", "name": "algorithm", "schema": { "type": "string" }, "description": "Filter by algorithm (exact match)" }, { "in": "query", "name": "algorithm__icontains", "schema": { "type": "string" }, "description": "Filter by algorithm (case-insensitive partial match)" }, { "in": "query", "name": "app_url", "schema": { "type": "string" }, "description": "Filter by app_url (exact match)" }, { "in": "query", "name": "app_url__icontains", "schema": { "type": "string" }, "description": "Filter by app_url (case-insensitive partial match)" }, { "in": "query", "name": "authorization_grant_type", "schema": { "type": "string" }, "description": "Filter by authorization_grant_type (exact match)" }, { "in": "query", "name": "authorization_grant_type__icontains", "schema": { "type": "string" }, "description": "Filter by authorization_grant_type (case-insensitive partial match)" }, { "in": "query", "name": "client_id", "schema": { "type": "string" }, "description": "Filter by client_id (exact match)" }, { "in": "query", "name": "client_id__icontains", "schema": { "type": "string" }, "description": "Filter by client_id (case-insensitive partial match)" }, { "in": "query", "name": "client_secret", "schema": { "type": "string" }, "description": "Filter by client_secret (exact match)" }, { "in": "query", "name": "client_secret__icontains", "schema": { "type": "string" }, "description": "Filter by client_secret (case-insensitive partial match)" }, { "in": "query", "name": "client_type", "schema": { "type": "string" }, "description": "Filter by client_type (exact match)" }, { "in": "query", "name": "client_type__icontains", "schema": { "type": "string" }, "description": "Filter by client_type (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "organization", "schema": { "type": "string" }, "description": "Filter by organization (exact match)" }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "post_logout_redirect_uris", "schema": { "type": "string" }, "description": "Filter by post_logout_redirect_uris (exact match)" }, { "in": "query", "name": "post_logout_redirect_uris__icontains", "schema": { "type": "string" }, "description": "Filter by post_logout_redirect_uris (case-insensitive partial match)" }, { "in": "query", "name": "redirect_uris", "schema": { "type": "string" }, "description": "Filter by redirect_uris (exact match)" }, { "in": "query", "name": "redirect_uris__icontains", "schema": { "type": "string" }, "description": "Filter by redirect_uris (case-insensitive partial match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "skip_authorization", "schema": { "type": "string" }, "description": "Filter by skip_authorization (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "user", "schema": { "type": "string" }, "description": "Filter by user (exact match)" } ], "tags": [ "applications" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedOAuth2ApplicationList" } } }, "description": "" } }, "x-ai-description": "List all applications" }, "post": { "operationId": "applications_create", "tags": [ "applications" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } } }, "description": "" } }, "x-ai-description": "Create new application" } }, "/api/gateway/v1/applications/{id}/": { "get": { "operationId": "applications_retrieve", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this application.", "required": true } ], "tags": [ "applications" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } } }, "description": "" } }, "x-ai-description": "Retrieve single application" }, "put": { "operationId": "applications_update", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this application.", "required": true } ], "tags": [ "applications" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } } }, "description": "" } }, "x-ai-description": "Update existing application" }, "patch": { "operationId": "applications_partial_update", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this application.", "required": true } ], "tags": [ "applications" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedOAuth2Application" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedOAuth2Application" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedOAuth2Application" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Application" } } }, "description": "" } }, "x-ai-description": "Partially update existing application" }, "delete": { "operationId": "applications_destroy", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this application.", "required": true } ], "tags": [ "applications" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing application" } }, "/api/gateway/v1/applications/{id}/tokens/": { "get": { "operationId": "applications_tokens_list", "description": "Manage Access Token objects in the 'access_tokens' relationship of this particular Application.\n\nStarting from the detail URL:\n\nGET /:id/access_tokens/ to show access tokens currently in the relationship", "parameters": [ { "in": "query", "name": "application", "schema": { "type": "string" }, "description": "Filter by application (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "expires", "schema": { "type": "string" }, "description": "Filter by expires (exact match)" }, { "in": "query", "name": "expires__gt", "schema": { "type": "string" }, "description": "Filter by expires (gt)" }, { "in": "query", "name": "expires__gte", "schema": { "type": "string" }, "description": "Filter by expires (gte)" }, { "in": "query", "name": "expires__lt", "schema": { "type": "string" }, "description": "Filter by expires (lt)" }, { "in": "query", "name": "expires__lte", "schema": { "type": "string" }, "description": "Filter by expires (lte)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "id_token", "schema": { "type": "string" }, "description": "Filter by id_token (exact match)" }, { "in": "query", "name": "last_used", "schema": { "type": "string" }, "description": "Filter by last_used (exact match)" }, { "in": "query", "name": "last_used__gt", "schema": { "type": "string" }, "description": "Filter by last_used (gt)" }, { "in": "query", "name": "last_used__gte", "schema": { "type": "string" }, "description": "Filter by last_used (gte)" }, { "in": "query", "name": "last_used__lt", "schema": { "type": "string" }, "description": "Filter by last_used (lt)" }, { "in": "query", "name": "last_used__lte", "schema": { "type": "string" }, "description": "Filter by last_used (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "refresh_token", "schema": { "type": "string" }, "description": "Filter by refresh_token (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "scope", "schema": { "type": "string" }, "description": "Filter by scope (exact match)" }, { "in": "query", "name": "scope__icontains", "schema": { "type": "string" }, "description": "Filter by scope (case-insensitive partial match)" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "source_refresh_token", "schema": { "type": "string" }, "description": "Filter by source_refresh_token (exact match)" }, { "in": "query", "name": "token", "schema": { "type": "string" }, "description": "Filter by token (exact match)" }, { "in": "query", "name": "token__icontains", "schema": { "type": "string" }, "description": "Filter by token (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "user", "schema": { "type": "string" }, "description": "Filter by user (exact match)" } ], "tags": [ "applications" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedOAuth2TokenList" } } }, "description": "" } }, "x-ai-description": "List all tokens for an application" } }, "/api/gateway/v1/authenticator_maps/": { "get": { "operationId": "authenticator_maps_list", "description": "API endpoint that allows authenticator maps to be viewed or edited.", "parameters": [ { "in": "query", "name": "authenticator", "schema": { "type": "string" }, "description": "Filter by authenticator (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "enabled", "schema": { "type": "string" }, "description": "Filter by enabled (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "map_type", "schema": { "type": "string" }, "description": "Filter by map_type (exact match)" }, { "in": "query", "name": "map_type__icontains", "schema": { "type": "string" }, "description": "Filter by map_type (case-insensitive partial match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "organization", "schema": { "type": "string" }, "description": "Filter by organization (exact match)" }, { "in": "query", "name": "organization__icontains", "schema": { "type": "string" }, "description": "Filter by organization (case-insensitive partial match)" }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "revoke", "schema": { "type": "string" }, "description": "Filter by revoke (exact match)" }, { "in": "query", "name": "role", "schema": { "type": "string" }, "description": "Filter by role (exact match)" }, { "in": "query", "name": "role__icontains", "schema": { "type": "string" }, "description": "Filter by role (case-insensitive partial match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "team", "schema": { "type": "string" }, "description": "Filter by team (exact match)" }, { "in": "query", "name": "team__icontains", "schema": { "type": "string" }, "description": "Filter by team (case-insensitive partial match)" }, { "in": "query", "name": "triggers", "schema": { "type": "string" }, "description": "Filter by triggers (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "authenticator_maps" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAuthenticatorMapList" } } }, "description": "" } }, "x-ai-description": "List conditional rule for granting access, membership or roles based on user attributes or groups" }, "post": { "operationId": "authenticator_maps_create", "description": "API endpoint that allows authenticator maps to be viewed or edited.", "tags": [ "authenticator_maps" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } } }, "description": "" } }, "x-ai-description": "Create a conditional rule for granting access, membership or roles based on user attributes or groups" } }, "/api/gateway/v1/authenticator_maps/{id}/": { "get": { "operationId": "authenticator_maps_retrieve", "description": "API endpoint that allows authenticator maps to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator map.", "required": true } ], "tags": [ "authenticator_maps" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } } }, "description": "" } }, "x-ai-description": "Retrieve a conditional rule for granting access, membership or roles based on user attributes or groups" }, "put": { "operationId": "authenticator_maps_update", "description": "API endpoint that allows authenticator maps to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator map.", "required": true } ], "tags": [ "authenticator_maps" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } } }, "description": "" } }, "x-ai-description": "Update a conditional rule for granting access, membership or roles based on user attributes or groups" }, "patch": { "operationId": "authenticator_maps_partial_update", "description": "API endpoint that allows authenticator maps to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator map.", "required": true } ], "tags": [ "authenticator_maps" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedAuthenticatorMap" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedAuthenticatorMap" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedAuthenticatorMap" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorMap" } } }, "description": "" } }, "x-ai-description": "Update a conditional rule for granting access, membership or roles based on user attributes or groups" }, "delete": { "operationId": "authenticator_maps_destroy", "description": "API endpoint that allows authenticator maps to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator map.", "required": true } ], "tags": [ "authenticator_maps" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete a conditional rule for granting access, membership or roles based on user attributes or groups" } }, "/api/gateway/v1/authenticator_maps/{id}/authenticators/": { "get": { "operationId": "authenticator_maps_authenticators_list", "description": "Manage Authenticator objects in the 'authenticators' relationship of this particular Authenticator Map.\n\nStarting from the detail URL:\n\nGET /:id/authenticators/ to show authenticators currently in the relationship\n\nPOST a list of instances to /:id/authenticators/associate/ to add those authenticators to the relationship\n\nPOST a list of instances to /:id/authenticators/disassociate/ to remove those authenticators from the relationshp", "parameters": [ { "in": "query", "name": "auto_migrate_users_to", "schema": { "type": "string" }, "description": "Filter by auto_migrate_users_to (exact match)" }, { "in": "query", "name": "category", "schema": { "type": "string" }, "description": "Filter by category (exact match)" }, { "in": "query", "name": "category__icontains", "schema": { "type": "string" }, "description": "Filter by category (case-insensitive partial match)" }, { "in": "query", "name": "configuration", "schema": { "type": "string" }, "description": "Filter by configuration (exact match)" }, { "in": "query", "name": "create_objects", "schema": { "type": "string" }, "description": "Filter by create_objects (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "enabled", "schema": { "type": "string" }, "description": "Filter by enabled (exact match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "remove_users", "schema": { "type": "string" }, "description": "Filter by remove_users (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "slug", "schema": { "type": "string" }, "description": "Filter by slug (exact match)" }, { "in": "query", "name": "slug__icontains", "schema": { "type": "string" }, "description": "Filter by slug (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by type (exact match)" }, { "in": "query", "name": "type__icontains", "schema": { "type": "string" }, "description": "Filter by type (case-insensitive partial match)" } ], "tags": [ "authenticator_maps" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAuthenticatorList" } } }, "description": "" } }, "x-ai-description": "List authentication types for configuring user login methods (LDAP, SAML, OAuth)" } }, "/api/gateway/v1/authenticator_maps/{id}/authenticators/associate/": { "post": { "operationId": "authenticator_maps_authenticators_associate_create", "description": "Manage Authenticator objects in the 'authenticators' relationship of this particular Authenticator Map.\n\nStarting from the detail URL:\n\nGET /:id/authenticators/ to show authenticators currently in the relationship\n\nPOST a list of instances to /:id/authenticators/associate/ to add those authenticators to the relationship\n\nPOST a list of instances to /:id/authenticators/disassociate/ to remove those authenticators from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "authenticator_maps" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorAssociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AuthenticatorAssociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AuthenticatorAssociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorAssociate" } } }, "description": "" } }, "x-ai-description": "Associate authenticators with an authenticator map" } }, "/api/gateway/v1/authenticator_maps/{id}/authenticators/disassociate/": { "post": { "operationId": "authenticator_maps_authenticators_disassociate_create", "description": "Manage Authenticator objects in the 'authenticators' relationship of this particular Authenticator Map.\n\nStarting from the detail URL:\n\nGET /:id/authenticators/ to show authenticators currently in the relationship\n\nPOST a list of instances to /:id/authenticators/associate/ to add those authenticators to the relationship\n\nPOST a list of instances to /:id/authenticators/disassociate/ to remove those authenticators from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "authenticator_maps" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorDisassociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AuthenticatorDisassociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AuthenticatorDisassociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorDisassociate" } } }, "description": "" } }, "x-ai-description": "Disassociate authenticators from an authenticator map" } }, "/api/gateway/v1/authenticator_plugins/": { "get": { "operationId": "authenticator_plugins_retrieve", "tags": [ "authenticator_plugins" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "description": "No response body" } }, "x-ai-description": "Retrieve single authenticator plugin" } }, "/api/gateway/v1/authenticator_users/": { "get": { "operationId": "authenticator_users_list", "description": "API endpoint that allows AuthenticatorUsers to be viewed and listed.", "parameters": [ { "in": "query", "name": "access_allowed", "schema": { "type": "string" }, "description": "Filter by access_allowed (exact match)" }, { "in": "query", "name": "claims", "schema": { "type": "string" }, "description": "Filter by claims (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "email", "schema": { "type": "string" }, "description": "Filter by email (exact match)" }, { "in": "query", "name": "email__icontains", "schema": { "type": "string" }, "description": "Filter by email (case-insensitive partial match)" }, { "in": "query", "name": "extra_data", "schema": { "type": "string" }, "description": "Filter by extra_data (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "last_login_map_results", "schema": { "type": "string" }, "description": "Filter by last_login_map_results (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "provider", "schema": { "type": "string" }, "description": "Filter by provider (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "uid", "schema": { "type": "string" }, "description": "Filter by uid (exact match)" }, { "in": "query", "name": "uid__icontains", "schema": { "type": "string" }, "description": "Filter by uid (case-insensitive partial match)" }, { "in": "query", "name": "user", "schema": { "type": "string" }, "description": "Filter by user (exact match)" } ], "tags": [ "authenticator_users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAuthenticatorUserList" } } }, "description": "" } }, "x-ai-description": "List all authenticator users" } }, "/api/gateway/v1/authenticator_users/{id}/": { "get": { "operationId": "authenticator_users_retrieve", "description": "API endpoint that allows AuthenticatorUsers to be viewed and listed.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator user.", "required": true } ], "tags": [ "authenticator_users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorUser" } } }, "description": "" } }, "x-ai-description": "Retrieve single authenticator user" } }, "/api/gateway/v1/authenticator_users/{id}/move/": { "post": { "operationId": "authenticator_users_move_create", "description": "API endpoint that allows AuthenticatorUsers to be viewed and listed.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator user.", "required": true } ], "tags": [ "authenticator_users" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorUserMove" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AuthenticatorUserMove" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AuthenticatorUserMove" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorUserMove" } } }, "description": "" } }, "x-ai-description": "Create new move for an authenticator_user" } }, "/api/gateway/v1/authenticators/": { "get": { "operationId": "authenticators_list", "description": "API endpoint that allows authenticators to be viewed or edited.", "parameters": [ { "in": "query", "name": "auto_migrate_users_to", "schema": { "type": "string" }, "description": "Filter by auto_migrate_users_to (exact match)" }, { "in": "query", "name": "category", "schema": { "type": "string" }, "description": "Filter by category (exact match)" }, { "in": "query", "name": "category__icontains", "schema": { "type": "string" }, "description": "Filter by category (case-insensitive partial match)" }, { "in": "query", "name": "configuration", "schema": { "type": "string" }, "description": "Filter by configuration (exact match)" }, { "in": "query", "name": "create_objects", "schema": { "type": "string" }, "description": "Filter by create_objects (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "enabled", "schema": { "type": "string" }, "description": "Filter by enabled (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "remove_users", "schema": { "type": "string" }, "description": "Filter by remove_users (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "slug", "schema": { "type": "string" }, "description": "Filter by slug (exact match)" }, { "in": "query", "name": "slug__icontains", "schema": { "type": "string" }, "description": "Filter by slug (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by type (exact match)" }, { "in": "query", "name": "type__icontains", "schema": { "type": "string" }, "description": "Filter by type (case-insensitive partial match)" } ], "tags": [ "authenticators" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAuthenticatorList" } } }, "description": "" } }, "x-ai-description": "List authentication types for configuring user login methods (LDAP, SAML, OAuth)" }, "post": { "operationId": "authenticators_create", "description": "API endpoint that allows authenticators to be viewed or edited.", "tags": [ "authenticators" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Authenticator" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Authenticator" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Authenticator" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Authenticator" } } }, "description": "" } }, "x-ai-description": "Create a authentication type for configuring user login methods (LDAP, SAML, OAuth)" } }, "/api/gateway/v1/authenticators/{id}/": { "get": { "operationId": "authenticators_retrieve", "description": "API endpoint that allows authenticators to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator.", "required": true } ], "tags": [ "authenticators" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Authenticator" } } }, "description": "" } }, "x-ai-description": "Retrieve a authentication type for configuring user login methods (LDAP, SAML, OAuth)" }, "put": { "operationId": "authenticators_update", "description": "API endpoint that allows authenticators to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator.", "required": true } ], "tags": [ "authenticators" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorUpdate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AuthenticatorUpdate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AuthenticatorUpdate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorUpdate" } } }, "description": "" } }, "x-ai-description": "Update a authentication type for configuring user login methods (LDAP, SAML, OAuth)" }, "patch": { "operationId": "authenticators_partial_update", "description": "API endpoint that allows authenticators to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator.", "required": true } ], "tags": [ "authenticators" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedAuthenticatorUpdate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedAuthenticatorUpdate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedAuthenticatorUpdate" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticatorUpdate" } } }, "description": "" } }, "x-ai-description": "Update a authentication type for configuring user login methods (LDAP, SAML, OAuth)" }, "delete": { "operationId": "authenticators_destroy", "description": "API endpoint that allows authenticators to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this authenticator.", "required": true } ], "tags": [ "authenticators" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete a authentication type for configuring user login methods (LDAP, SAML, OAuth)" } }, "/api/gateway/v1/authenticators/{id}/authenticator_maps/": { "get": { "operationId": "authenticators_authenticator_maps_list", "description": "Manage Authenticator Map objects in the 'authenticator_maps' relationship of this particular Authenticator.\n\nStarting from the detail URL:\n\nGET /:id/authenticator_maps/ to show authenticator maps currently in the relationship", "parameters": [ { "in": "query", "name": "authenticator", "schema": { "type": "string" }, "description": "Filter by authenticator (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "enabled", "schema": { "type": "string" }, "description": "Filter by enabled (exact match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "map_type", "schema": { "type": "string" }, "description": "Filter by map_type (exact match)" }, { "in": "query", "name": "map_type__icontains", "schema": { "type": "string" }, "description": "Filter by map_type (case-insensitive partial match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "organization", "schema": { "type": "string" }, "description": "Filter by organization (exact match)" }, { "in": "query", "name": "organization__icontains", "schema": { "type": "string" }, "description": "Filter by organization (case-insensitive partial match)" }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "revoke", "schema": { "type": "string" }, "description": "Filter by revoke (exact match)" }, { "in": "query", "name": "role", "schema": { "type": "string" }, "description": "Filter by role (exact match)" }, { "in": "query", "name": "role__icontains", "schema": { "type": "string" }, "description": "Filter by role (case-insensitive partial match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "team", "schema": { "type": "string" }, "description": "Filter by team (exact match)" }, { "in": "query", "name": "team__icontains", "schema": { "type": "string" }, "description": "Filter by team (case-insensitive partial match)" }, { "in": "query", "name": "triggers", "schema": { "type": "string" }, "description": "Filter by triggers (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "authenticators" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAuthenticatorMapList" } } }, "description": "" } }, "x-ai-description": "List conditional rule for granting access, membership or roles based on user attributes or groups" } }, "/api/gateway/v1/authenticators/{id}/users/": { "get": { "operationId": "authenticators_users_list", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "date_joined", "schema": { "type": "string" }, "description": "Filter by date_joined (exact match)" }, { "in": "query", "name": "date_joined__gt", "schema": { "type": "string" }, "description": "Filter by date_joined (gt)" }, { "in": "query", "name": "date_joined__gte", "schema": { "type": "string" }, "description": "Filter by date_joined (gte)" }, { "in": "query", "name": "date_joined__lt", "schema": { "type": "string" }, "description": "Filter by date_joined (lt)" }, { "in": "query", "name": "date_joined__lte", "schema": { "type": "string" }, "description": "Filter by date_joined (lte)" }, { "in": "query", "name": "email", "schema": { "type": "string" }, "description": "Filter by email (exact match)" }, { "in": "query", "name": "email__icontains", "schema": { "type": "string" }, "description": "Filter by email (case-insensitive partial match)" }, { "in": "query", "name": "first_name", "schema": { "type": "string" }, "description": "Filter by first_name (exact match)" }, { "in": "query", "name": "first_name__icontains", "schema": { "type": "string" }, "description": "Filter by first_name (case-insensitive partial match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_active", "schema": { "type": "string" }, "description": "Filter by is_active (exact match)" }, { "in": "query", "name": "is_staff", "schema": { "type": "string" }, "description": "Filter by is_staff (exact match)" }, { "in": "query", "name": "is_superuser", "schema": { "type": "string" }, "description": "Filter by is_superuser (exact match)" }, { "in": "query", "name": "last_login", "schema": { "type": "string" }, "description": "Filter by last_login (exact match)" }, { "in": "query", "name": "last_login__gt", "schema": { "type": "string" }, "description": "Filter by last_login (gt)" }, { "in": "query", "name": "last_login__gte", "schema": { "type": "string" }, "description": "Filter by last_login (gte)" }, { "in": "query", "name": "last_login__lt", "schema": { "type": "string" }, "description": "Filter by last_login (lt)" }, { "in": "query", "name": "last_login__lte", "schema": { "type": "string" }, "description": "Filter by last_login (lte)" }, { "in": "query", "name": "last_login_from", "schema": { "type": "string" }, "description": "Filter by last_login_from (exact match)" }, { "in": "query", "name": "last_name", "schema": { "type": "string" }, "description": "Filter by last_name (exact match)" }, { "in": "query", "name": "last_name__icontains", "schema": { "type": "string" }, "description": "Filter by last_name (case-insensitive partial match)" }, { "in": "query", "name": "managed", "schema": { "type": "string" }, "description": "Filter by managed (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "password", "schema": { "type": "string" }, "description": "Filter by password (exact match)" }, { "in": "query", "name": "password__icontains", "schema": { "type": "string" }, "description": "Filter by password (case-insensitive partial match)" }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "username", "schema": { "type": "string" }, "description": "Filter by username (exact match)" }, { "in": "query", "name": "username__icontains", "schema": { "type": "string" }, "description": "Filter by username (case-insensitive partial match)" } ], "tags": [ "authenticators" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserList" } } }, "description": "" } }, "x-ai-description": "List authenticated platform users with permissions assigned directly or via team membership" } }, "/api/gateway/v1/ca_certificates/": { "get": { "operationId": "ca_certificates_list", "description": "API endpoint that allows to manage a CA Certificate", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "pem_data", "schema": { "type": "string" }, "description": "Filter by pem_data (exact match)" }, { "in": "query", "name": "pem_data__icontains", "schema": { "type": "string" }, "description": "Filter by pem_data (case-insensitive partial match)" }, { "in": "query", "name": "related_id_reference", "schema": { "type": "string" }, "description": "Filter by related_id_reference (exact match)" }, { "in": "query", "name": "related_id_reference__icontains", "schema": { "type": "string" }, "description": "Filter by related_id_reference (case-insensitive partial match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "sha256", "schema": { "type": "string" }, "description": "Filter by sha256 (exact match)" }, { "in": "query", "name": "sha256__icontains", "schema": { "type": "string" }, "description": "Filter by sha256 (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "ca_certificates" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedCACertificateList" } } }, "description": "" } }, "x-ai-description": "List all ca certificates" }, "post": { "operationId": "ca_certificates_create", "description": "API endpoint that allows to manage a CA Certificate", "tags": [ "ca_certificates" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CACertificate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/CACertificate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/CACertificate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CACertificate" } } }, "description": "" } }, "x-ai-description": "Create new ca certificate" } }, "/api/gateway/v1/ca_certificates/{id}/": { "get": { "operationId": "ca_certificates_retrieve", "description": "API endpoint that allows to manage a CA Certificate", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this ca certificate.", "required": true } ], "tags": [ "ca_certificates" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CACertificate" } } }, "description": "" } }, "x-ai-description": "Retrieve single ca certificate" }, "put": { "operationId": "ca_certificates_update", "description": "API endpoint that allows to manage a CA Certificate", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this ca certificate.", "required": true } ], "tags": [ "ca_certificates" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CACertificate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/CACertificate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/CACertificate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CACertificate" } } }, "description": "" } }, "x-ai-description": "Update existing ca certificate" }, "patch": { "operationId": "ca_certificates_partial_update", "description": "API endpoint that allows to manage a CA Certificate", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this ca certificate.", "required": true } ], "tags": [ "ca_certificates" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedCACertificate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedCACertificate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedCACertificate" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CACertificate" } } }, "description": "" } }, "x-ai-description": "Partially update existing ca certificate" }, "delete": { "operationId": "ca_certificates_destroy", "description": "API endpoint that allows to manage a CA Certificate", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this ca certificate.", "required": true } ], "tags": [ "ca_certificates" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing ca certificate" } }, "/api/gateway/v1/docs/schema/": { "get": { "operationId": "docs_schema_retrieve", "description": "OpenApi3 schema for this API. Format can be selected via content negotiation.\n\n- YAML: application/vnd.oai.openapi\n- JSON: application/vnd.oai.openapi+json", "parameters": [ { "in": "query", "name": "format", "schema": { "type": "string", "enum": [ "json", "yaml" ] } }, { "in": "query", "name": "lang", "schema": { "type": "string", "enum": [ "af", "ar", "ar-dz", "ast", "az", "be", "bg", "bn", "br", "bs", "ca", "ckb", "cs", "cy", "da", "de", "dsb", "el", "en", "en-au", "en-gb", "eo", "es", "es-ar", "es-co", "es-mx", "es-ni", "es-ve", "et", "eu", "fa", "fi", "fr", "fy", "ga", "gd", "gl", "he", "hi", "hr", "hsb", "hu", "hy", "ia", "id", "ig", "io", "is", "it", "ja", "ka", "kab", "kk", "km", "kn", "ko", "ky", "lb", "lt", "lv", "mk", "ml", "mn", "mr", "ms", "my", "nb", "ne", "nl", "nn", "os", "pa", "pl", "pt", "pt-br", "ro", "ru", "sk", "sl", "sq", "sr", "sr-latn", "sv", "sw", "ta", "te", "tg", "th", "tk", "tr", "tt", "udm", "ug", "uk", "ur", "uz", "vi", "zh-hans", "zh-hant" ] } } ], "tags": [ "docs" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] }, {} ], "responses": { "200": { "content": { "application/vnd.oai.openapi": { "schema": { "type": "object", "additionalProperties": {} } }, "application/yaml": { "schema": { "type": "object", "additionalProperties": {} } }, "application/vnd.oai.openapi+json": { "schema": { "type": "object", "additionalProperties": {} } }, "application/json": { "schema": { "type": "object", "additionalProperties": {} } } }, "description": "" } }, "x-ai-description": "Retrieve single docs schema" } }, "/api/gateway/v1/feature_flags/": { "get": { "operationId": "feature_flags_list", "description": "API endpoint that allows feature flags to be viewed or edited.", "parameters": [ { "in": "query", "name": "condition", "schema": { "type": "string" }, "description": "Filter by condition (exact match)" }, { "in": "query", "name": "condition__icontains", "schema": { "type": "string" }, "description": "Filter by condition (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "labels", "schema": { "type": "string" }, "description": "Filter by labels (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "required", "schema": { "type": "string" }, "description": "Filter by required (exact match)" }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "support_level", "schema": { "type": "string" }, "description": "Filter by support_level (exact match)" }, { "in": "query", "name": "support_level__icontains", "schema": { "type": "string" }, "description": "Filter by support_level (case-insensitive partial match)" }, { "in": "query", "name": "support_url", "schema": { "type": "string" }, "description": "Filter by support_url (exact match)" }, { "in": "query", "name": "support_url__icontains", "schema": { "type": "string" }, "description": "Filter by support_url (case-insensitive partial match)" }, { "in": "query", "name": "toggle_type", "schema": { "type": "string" }, "description": "Filter by toggle_type (exact match)" }, { "in": "query", "name": "toggle_type__icontains", "schema": { "type": "string" }, "description": "Filter by toggle_type (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "ui_name", "schema": { "type": "string" }, "description": "Filter by ui_name (exact match)" }, { "in": "query", "name": "ui_name__icontains", "schema": { "type": "string" }, "description": "Filter by ui_name (case-insensitive partial match)" }, { "in": "query", "name": "value", "schema": { "type": "string" }, "description": "Filter by value (exact match)" }, { "in": "query", "name": "value__icontains", "schema": { "type": "string" }, "description": "Filter by value (case-insensitive partial match)" }, { "in": "query", "name": "visibility", "schema": { "type": "string" }, "description": "Filter by visibility (exact match)" } ], "tags": [ "feature_flags" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedFeatureFlagList" } } }, "description": "" } }, "x-ai-description": "List all feature flags" } }, "/api/gateway/v1/feature_flags/{id}/": { "get": { "operationId": "feature_flags_retrieve", "description": "API endpoint that allows feature flags to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this aap flag.", "required": true } ], "tags": [ "feature_flags" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FeatureFlag" } } }, "description": "" } }, "x-ai-description": "Returns the current state of all feature flags on the Gateway platform." }, "patch": { "operationId": "feature_flags_partial_update", "description": "Handle PATCH requests to update feature flag values.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this aap flag.", "required": true } ], "tags": [ "feature_flags" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedFeatureFlagPatch" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedFeatureFlagPatch" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedFeatureFlagPatch" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FeatureFlagPatch" } } }, "description": "" } }, "x-ai-description": "Partially update existing feature flag" } }, "/api/gateway/v1/feature_flags/states/": { "get": { "operationId": "feature_flags_states_list", "description": "A view class for displaying feature flags states.\nTo add/update/remove a feature flag, see the instructions in\n`docs/apps/feature_flags.md`", "parameters": [ { "in": "query", "name": "condition", "schema": { "type": "string" }, "description": "Filter by condition (exact match)" }, { "in": "query", "name": "condition__icontains", "schema": { "type": "string" }, "description": "Filter by condition (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "labels", "schema": { "type": "string" }, "description": "Filter by labels (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "required", "schema": { "type": "string" }, "description": "Filter by required (exact match)" }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "support_level", "schema": { "type": "string" }, "description": "Filter by support_level (exact match)" }, { "in": "query", "name": "support_level__icontains", "schema": { "type": "string" }, "description": "Filter by support_level (case-insensitive partial match)" }, { "in": "query", "name": "support_url", "schema": { "type": "string" }, "description": "Filter by support_url (exact match)" }, { "in": "query", "name": "support_url__icontains", "schema": { "type": "string" }, "description": "Filter by support_url (case-insensitive partial match)" }, { "in": "query", "name": "toggle_type", "schema": { "type": "string" }, "description": "Filter by toggle_type (exact match)" }, { "in": "query", "name": "toggle_type__icontains", "schema": { "type": "string" }, "description": "Filter by toggle_type (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "ui_name", "schema": { "type": "string" }, "description": "Filter by ui_name (exact match)" }, { "in": "query", "name": "ui_name__icontains", "schema": { "type": "string" }, "description": "Filter by ui_name (case-insensitive partial match)" }, { "in": "query", "name": "value", "schema": { "type": "string" }, "description": "Filter by value (exact match)" }, { "in": "query", "name": "value__icontains", "schema": { "type": "string" }, "description": "Filter by value (case-insensitive partial match)" }, { "in": "query", "name": "visibility", "schema": { "type": "string" }, "description": "Filter by visibility (exact match)" } ], "tags": [ "feature_flags" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedFeatureFlagStatesList" } } }, "description": "" } }, "x-ai-description": "List all feature flags states" } }, "/api/gateway/v1/feature_flags/states/{id}/": { "get": { "operationId": "feature_flags_states_retrieve", "description": "A view class for displaying feature flags states.\nTo add/update/remove a feature flag, see the instructions in\n`docs/apps/feature_flags.md`", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this aap flag.", "required": true } ], "tags": [ "feature_flags" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FeatureFlagStates" } } }, "description": "" } }, "x-ai-description": "Retrieve single feature flags state" } }, "/api/gateway/v1/feature_flags_state/": { "get": { "operationId": "feature_flags_state_retrieve", "description": "A view class for displaying feature flags", "tags": [ "feature_flags_state" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": {} }, "examples": { "Featureflags": { "value": { "FLAG1": true, "FLAG2": false }, "summary": "featureflags" } } } }, "description": "" } }, "x-ai-description": "Retrieve single feature flags state" } }, "/api/gateway/v1/http_ports/": { "get": { "operationId": "http_ports_list", "description": "API endpoint that allows HTTP ports to be viewed or edited.", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "envoy_listener_name", "schema": { "type": "string" }, "description": "Filter by envoy_listener_name (exact match)" }, { "in": "query", "name": "envoy_listener_name__icontains", "schema": { "type": "string" }, "description": "Filter by envoy_listener_name (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_api_port", "schema": { "type": "string" }, "description": "Filter by is_api_port (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "number", "schema": { "type": "string" }, "description": "Filter by number (exact match)" }, { "in": "query", "name": "number__gt", "schema": { "type": "string" }, "description": "Filter by number (gt)" }, { "in": "query", "name": "number__gte", "schema": { "type": "string" }, "description": "Filter by number (gte)" }, { "in": "query", "name": "number__lt", "schema": { "type": "string" }, "description": "Filter by number (lt)" }, { "in": "query", "name": "number__lte", "schema": { "type": "string" }, "description": "Filter by number (lte)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "use_https", "schema": { "type": "string" }, "description": "Filter by use_https (exact match)" } ], "tags": [ "http_ports" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedHTTPPortList" } } }, "description": "" } }, "x-ai-description": "List all http ports" }, "post": { "operationId": "http_ports_create", "description": "API endpoint that allows HTTP ports to be viewed or edited.", "tags": [ "http_ports" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPPort" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/HTTPPort" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/HTTPPort" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPPort" } } }, "description": "" } }, "x-ai-description": "Create new http port" } }, "/api/gateway/v1/http_ports/{id}/": { "get": { "operationId": "http_ports_retrieve", "description": "API endpoint that allows HTTP ports to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this http port.", "required": true } ], "tags": [ "http_ports" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPPort" } } }, "description": "" } }, "x-ai-description": "Retrieve single http port" }, "put": { "operationId": "http_ports_update", "description": "API endpoint that allows HTTP ports to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this http port.", "required": true } ], "tags": [ "http_ports" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPPort" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/HTTPPort" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/HTTPPort" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPPort" } } }, "description": "" } }, "x-ai-description": "Update existing http port" }, "patch": { "operationId": "http_ports_partial_update", "description": "API endpoint that allows HTTP ports to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this http port.", "required": true } ], "tags": [ "http_ports" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedHTTPPort" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedHTTPPort" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedHTTPPort" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPPort" } } }, "description": "" } }, "x-ai-description": "Partially update existing http port" }, "delete": { "operationId": "http_ports_destroy", "description": "API endpoint that allows HTTP ports to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this http port.", "required": true } ], "tags": [ "http_ports" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing http port" } }, "/api/gateway/v1/http_ports/{id}/routes/": { "get": { "operationId": "http_ports_routes_list", "description": "Manage Additional Route objects in the 'routes' relationship of this particular Http Port.\n\nStarting from the detail URL:\n\nGET /:id/routes/ to show additional routes currently in the relationship\n\nPOST a list of instances to /:id/routes/associate/ to add those additional routes to the relationship\n\nPOST a list of instances to /:id/routes/disassociate/ to remove those additional routes from the relationshp", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "enable_gateway_auth", "schema": { "type": "string" }, "description": "Filter by enable_gateway_auth (exact match)" }, { "in": "query", "name": "enable_mtls", "schema": { "type": "string" }, "description": "Filter by enable_mtls (exact match)" }, { "in": "query", "name": "envoy_cluster_name", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (exact match)" }, { "in": "query", "name": "envoy_cluster_name__icontains", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (case-insensitive partial match)" }, { "in": "query", "name": "gateway_path", "schema": { "type": "string" }, "description": "Filter by gateway_path (exact match)" }, { "in": "query", "name": "gateway_path__icontains", "schema": { "type": "string" }, "description": "Filter by gateway_path (case-insensitive partial match)" }, { "in": "query", "name": "http_port", "schema": { "type": "string" }, "description": "Filter by http_port (exact match)" }, { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "idle_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (exact match)" }, { "in": "query", "name": "idle_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gt)" }, { "in": "query", "name": "idle_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gte)" }, { "in": "query", "name": "idle_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lt)" }, { "in": "query", "name": "idle_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lte)" }, { "in": "query", "name": "is_internal_route", "schema": { "type": "string" }, "description": "Filter by is_internal_route (exact match)" }, { "in": "query", "name": "is_service_https", "schema": { "type": "string" }, "description": "Filter by is_service_https (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "node_tags", "schema": { "type": "string" }, "description": "Filter by node_tags (exact match)" }, { "in": "query", "name": "node_tags__icontains", "schema": { "type": "string" }, "description": "Filter by node_tags (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "request_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (exact match)" }, { "in": "query", "name": "request_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gt)" }, { "in": "query", "name": "request_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gte)" }, { "in": "query", "name": "request_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lt)" }, { "in": "query", "name": "request_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lte)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "route_ptr", "schema": { "type": "string" }, "description": "Filter by route_ptr (exact match)" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "service_path", "schema": { "type": "string" }, "description": "Filter by service_path (exact match)" }, { "in": "query", "name": "service_path__icontains", "schema": { "type": "string" }, "description": "Filter by service_path (case-insensitive partial match)" }, { "in": "query", "name": "service_port", "schema": { "type": "string" }, "description": "Filter by service_port (exact match)" }, { "in": "query", "name": "service_port__gt", "schema": { "type": "string" }, "description": "Filter by service_port (gt)" }, { "in": "query", "name": "service_port__gte", "schema": { "type": "string" }, "description": "Filter by service_port (gte)" }, { "in": "query", "name": "service_port__lt", "schema": { "type": "string" }, "description": "Filter by service_port (lt)" }, { "in": "query", "name": "service_port__lte", "schema": { "type": "string" }, "description": "Filter by service_port (lte)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "http_ports" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAdditionalRouteList" } } }, "description": "" } }, "x-ai-description": "List all routes for a http_port" } }, "/api/gateway/v1/http_ports/{id}/routes/associate/": { "post": { "operationId": "http_ports_routes_associate_create", "description": "Manage Additional Route objects in the 'routes' relationship of this particular Http Port.\n\nStarting from the detail URL:\n\nGET /:id/routes/ to show additional routes currently in the relationship\n\nPOST a list of instances to /:id/routes/associate/ to add those additional routes to the relationship\n\nPOST a list of instances to /:id/routes/disassociate/ to remove those additional routes from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true } ], "tags": [ "http_ports" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRouteAssociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AdditionalRouteAssociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AdditionalRouteAssociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRouteAssociate" } } }, "description": "" } }, "x-ai-description": "Associate routes with a http port" } }, "/api/gateway/v1/http_ports/{id}/routes/disassociate/": { "post": { "operationId": "http_ports_routes_disassociate_create", "description": "Manage Additional Route objects in the 'routes' relationship of this particular Http Port.\n\nStarting from the detail URL:\n\nGET /:id/routes/ to show additional routes currently in the relationship\n\nPOST a list of instances to /:id/routes/associate/ to add those additional routes to the relationship\n\nPOST a list of instances to /:id/routes/disassociate/ to remove those additional routes from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true } ], "tags": [ "http_ports" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRouteDisassociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AdditionalRouteDisassociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AdditionalRouteDisassociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRouteDisassociate" } } }, "description": "" } }, "x-ai-description": "Disassociate routes from a http port" } }, "/api/gateway/v1/jwt_claims/{user_ansible_id}/": { "get": { "operationId": "jwt_claims_retrieve", "description": "Get JWT claims for a specific user by their Ansible ID. Accessible by service tokens or superusers.", "parameters": [ { "in": "path", "name": "user_ansible_id", "schema": { "type": "string" }, "required": true } ], "tags": [ "jwt_claims" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": {} } } }, "description": "" }, "404": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": {} } } }, "description": "" } }, "x-ai-description": "Retrieve single jwt claim" } }, "/api/gateway/v1/jwt_key/": { "get": { "operationId": "jwt_key_retrieve", "tags": [ "jwt_key" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "string" } } }, "description": "" } }, "x-ai-description": "Retrieve single jwt key" } }, "/api/gateway/v1/me/": { "get": { "operationId": "me_list", "parameters": [ { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "me" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserList" } } }, "description": "" } }, "x-ai-description": "Retrieve details about the current authenticated user" } }, "/api/gateway/v1/organizations/": { "get": { "operationId": "organizations_list", "description": "API endpoint that allows organizations to be viewed or edited.", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "managed", "schema": { "type": "string" }, "description": "Filter by managed (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "organizations" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedOrganizationList" } } }, "description": "" } }, "x-ai-description": "List logical collection of users, teams, and resources for organizing access control" }, "post": { "operationId": "organizations_create", "description": "API endpoint that allows organizations to be viewed or edited.", "tags": [ "organizations" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Organization" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "description": "" } }, "x-ai-description": "Create a logical collection of users, teams, and resource for organizing access control" } }, "/api/gateway/v1/organizations/{id}/": { "get": { "operationId": "organizations_retrieve", "description": "API endpoint that allows organizations to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this organization.", "required": true } ], "tags": [ "organizations" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "description": "" } }, "x-ai-description": "Retrieve a logical collection of users, teams, and resource for organizing access control" }, "put": { "operationId": "organizations_update", "description": "API endpoint that allows organizations to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this organization.", "required": true } ], "tags": [ "organizations" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Organization" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "description": "" } }, "x-ai-description": "Update a logical collection of users, teams, and resource for organizing access control" }, "patch": { "operationId": "organizations_partial_update", "description": "API endpoint that allows organizations to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this organization.", "required": true } ], "tags": [ "organizations" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedOrganization" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedOrganization" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedOrganization" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "description": "" } }, "x-ai-description": "Update a logical collection of users, teams, and resource for organizing access control" }, "delete": { "operationId": "organizations_destroy", "description": "API endpoint that allows organizations to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this organization.", "required": true } ], "tags": [ "organizations" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete a logical collection of users, teams, and resource for organizing access control" } }, "/api/gateway/v1/organizations/{id}/admins/": { "get": { "operationId": "organizations_admins_list", "description": "Manage User objects in the 'admins' relationship of this particular Organization.\n\nStarting from the detail URL:\n\nGET /:id/admins/ to show users currently in the relationship\n\nPOST a list of instances to /:id/admins/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/admins/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "date_joined", "schema": { "type": "string" }, "description": "Filter by date_joined (exact match)" }, { "in": "query", "name": "date_joined__gt", "schema": { "type": "string" }, "description": "Filter by date_joined (gt)" }, { "in": "query", "name": "date_joined__gte", "schema": { "type": "string" }, "description": "Filter by date_joined (gte)" }, { "in": "query", "name": "date_joined__lt", "schema": { "type": "string" }, "description": "Filter by date_joined (lt)" }, { "in": "query", "name": "date_joined__lte", "schema": { "type": "string" }, "description": "Filter by date_joined (lte)" }, { "in": "query", "name": "email", "schema": { "type": "string" }, "description": "Filter by email (exact match)" }, { "in": "query", "name": "email__icontains", "schema": { "type": "string" }, "description": "Filter by email (case-insensitive partial match)" }, { "in": "query", "name": "first_name", "schema": { "type": "string" }, "description": "Filter by first_name (exact match)" }, { "in": "query", "name": "first_name__icontains", "schema": { "type": "string" }, "description": "Filter by first_name (case-insensitive partial match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_active", "schema": { "type": "string" }, "description": "Filter by is_active (exact match)" }, { "in": "query", "name": "is_staff", "schema": { "type": "string" }, "description": "Filter by is_staff (exact match)" }, { "in": "query", "name": "is_superuser", "schema": { "type": "string" }, "description": "Filter by is_superuser (exact match)" }, { "in": "query", "name": "last_login", "schema": { "type": "string" }, "description": "Filter by last_login (exact match)" }, { "in": "query", "name": "last_login__gt", "schema": { "type": "string" }, "description": "Filter by last_login (gt)" }, { "in": "query", "name": "last_login__gte", "schema": { "type": "string" }, "description": "Filter by last_login (gte)" }, { "in": "query", "name": "last_login__lt", "schema": { "type": "string" }, "description": "Filter by last_login (lt)" }, { "in": "query", "name": "last_login__lte", "schema": { "type": "string" }, "description": "Filter by last_login (lte)" }, { "in": "query", "name": "last_login_from", "schema": { "type": "string" }, "description": "Filter by last_login_from (exact match)" }, { "in": "query", "name": "last_name", "schema": { "type": "string" }, "description": "Filter by last_name (exact match)" }, { "in": "query", "name": "last_name__icontains", "schema": { "type": "string" }, "description": "Filter by last_name (case-insensitive partial match)" }, { "in": "query", "name": "managed", "schema": { "type": "string" }, "description": "Filter by managed (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "password", "schema": { "type": "string" }, "description": "Filter by password (exact match)" }, { "in": "query", "name": "password__icontains", "schema": { "type": "string" }, "description": "Filter by password (case-insensitive partial match)" }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "username", "schema": { "type": "string" }, "description": "Filter by username (exact match)" }, { "in": "query", "name": "username__icontains", "schema": { "type": "string" }, "description": "Filter by username (case-insensitive partial match)" } ], "tags": [ "organizations" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserList" } } }, "description": "" } }, "x-ai-description": "List all admins for an organization" } }, "/api/gateway/v1/organizations/{id}/admins/associate/": { "post": { "operationId": "organizations_admins_associate_create", "description": "Manage User objects in the 'admins' relationship of this particular Organization.\n\nStarting from the detail URL:\n\nGET /:id/admins/ to show users currently in the relationship\n\nPOST a list of instances to /:id/admins/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/admins/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "organizations" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserAssociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserAssociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UserAssociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserAssociate" } } }, "description": "" } }, "x-ai-description": "Associate admins with an organization" } }, "/api/gateway/v1/organizations/{id}/admins/disassociate/": { "post": { "operationId": "organizations_admins_disassociate_create", "description": "Manage User objects in the 'admins' relationship of this particular Organization.\n\nStarting from the detail URL:\n\nGET /:id/admins/ to show users currently in the relationship\n\nPOST a list of instances to /:id/admins/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/admins/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "organizations" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } } }, "description": "" } }, "x-ai-description": "Disassociate admins from an organization" } }, "/api/gateway/v1/organizations/{id}/teams/": { "get": { "operationId": "organizations_teams_list", "description": "Manage Team objects in the 'teams' relationship of this particular Organization.\n\nStarting from the detail URL:\n\nGET /:id/teams/ to show teams currently in the relationship", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "organization", "schema": { "type": "string" }, "description": "Filter by organization (exact match)" }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "organizations" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedTeamList" } } }, "description": "" } }, "x-ai-description": "List organization subdivisions that group users for bulk permission assignment and role-based access control" } }, "/api/gateway/v1/organizations/{id}/users/": { "get": { "operationId": "organizations_users_list", "description": "Manage User objects in the 'users' relationship of this particular Organization.\n\nStarting from the detail URL:\n\nGET /:id/users/ to show users currently in the relationship\n\nPOST a list of instances to /:id/users/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/users/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "date_joined", "schema": { "type": "string" }, "description": "Filter by date_joined (exact match)" }, { "in": "query", "name": "date_joined__gt", "schema": { "type": "string" }, "description": "Filter by date_joined (gt)" }, { "in": "query", "name": "date_joined__gte", "schema": { "type": "string" }, "description": "Filter by date_joined (gte)" }, { "in": "query", "name": "date_joined__lt", "schema": { "type": "string" }, "description": "Filter by date_joined (lt)" }, { "in": "query", "name": "date_joined__lte", "schema": { "type": "string" }, "description": "Filter by date_joined (lte)" }, { "in": "query", "name": "email", "schema": { "type": "string" }, "description": "Filter by email (exact match)" }, { "in": "query", "name": "email__icontains", "schema": { "type": "string" }, "description": "Filter by email (case-insensitive partial match)" }, { "in": "query", "name": "first_name", "schema": { "type": "string" }, "description": "Filter by first_name (exact match)" }, { "in": "query", "name": "first_name__icontains", "schema": { "type": "string" }, "description": "Filter by first_name (case-insensitive partial match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_active", "schema": { "type": "string" }, "description": "Filter by is_active (exact match)" }, { "in": "query", "name": "is_staff", "schema": { "type": "string" }, "description": "Filter by is_staff (exact match)" }, { "in": "query", "name": "is_superuser", "schema": { "type": "string" }, "description": "Filter by is_superuser (exact match)" }, { "in": "query", "name": "last_login", "schema": { "type": "string" }, "description": "Filter by last_login (exact match)" }, { "in": "query", "name": "last_login__gt", "schema": { "type": "string" }, "description": "Filter by last_login (gt)" }, { "in": "query", "name": "last_login__gte", "schema": { "type": "string" }, "description": "Filter by last_login (gte)" }, { "in": "query", "name": "last_login__lt", "schema": { "type": "string" }, "description": "Filter by last_login (lt)" }, { "in": "query", "name": "last_login__lte", "schema": { "type": "string" }, "description": "Filter by last_login (lte)" }, { "in": "query", "name": "last_login_from", "schema": { "type": "string" }, "description": "Filter by last_login_from (exact match)" }, { "in": "query", "name": "last_name", "schema": { "type": "string" }, "description": "Filter by last_name (exact match)" }, { "in": "query", "name": "last_name__icontains", "schema": { "type": "string" }, "description": "Filter by last_name (case-insensitive partial match)" }, { "in": "query", "name": "managed", "schema": { "type": "string" }, "description": "Filter by managed (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "password", "schema": { "type": "string" }, "description": "Filter by password (exact match)" }, { "in": "query", "name": "password__icontains", "schema": { "type": "string" }, "description": "Filter by password (case-insensitive partial match)" }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "username", "schema": { "type": "string" }, "description": "Filter by username (exact match)" }, { "in": "query", "name": "username__icontains", "schema": { "type": "string" }, "description": "Filter by username (case-insensitive partial match)" } ], "tags": [ "organizations" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserList" } } }, "description": "" } }, "x-ai-description": "List all users for an organization" } }, "/api/gateway/v1/organizations/{id}/users/associate/": { "post": { "operationId": "organizations_users_associate_create", "description": "Manage User objects in the 'users' relationship of this particular Organization.\n\nStarting from the detail URL:\n\nGET /:id/users/ to show users currently in the relationship\n\nPOST a list of instances to /:id/users/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/users/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "organizations" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserAssociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserAssociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UserAssociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserAssociate" } } }, "description": "" } }, "x-ai-description": "Associate users with an organization" } }, "/api/gateway/v1/organizations/{id}/users/disassociate/": { "post": { "operationId": "organizations_users_disassociate_create", "description": "Manage User objects in the 'users' relationship of this particular Organization.\n\nStarting from the detail URL:\n\nGET /:id/users/ to show users currently in the relationship\n\nPOST a list of instances to /:id/users/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/users/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "organizations" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } } }, "description": "" } }, "x-ai-description": "Disassociate users from an organization" } }, "/api/gateway/v1/ping/": { "get": { "operationId": "ping_retrieve", "tags": [ "ping" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ping" } } }, "description": "" } }, "x-ai-description": "Retrieve single ping" } }, "/api/gateway/v1/role_definitions/": { "get": { "operationId": "role_definitions_list", "description": "Update the corresponding resource in each service.", "parameters": [ { "in": "query", "name": "content_type", "schema": { "type": "string" }, "description": "Filter by content_type (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "managed", "schema": { "type": "string" }, "description": "Filter by managed (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_definitions" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedGatewayRoleDefinitionList" } } }, "description": "" } }, "x-ai-description": "List RBAC roles defining permissions that can be managed and assigned to users and teams" }, "post": { "operationId": "role_definitions_create", "description": "Update the corresponding resource in each service.", "tags": [ "role_definitions" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayRoleDefinition" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/GatewayRoleDefinition" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/GatewayRoleDefinition" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayRoleDefinition" } } }, "description": "" } }, "x-ai-description": "Create a RBAC roles defining permissions that can be managed and assigned to users and teams" } }, "/api/gateway/v1/role_definitions/{id}/": { "get": { "operationId": "role_definitions_retrieve", "description": "Update the corresponding resource in each service.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this role definition.", "required": true } ], "tags": [ "role_definitions" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayRoleDefinition" } } }, "description": "" } }, "x-ai-description": "Retrieve a RBAC roles defining permissions that can be managed and assigned to users and teams" }, "put": { "operationId": "role_definitions_update", "description": "Update the corresponding resource in each service.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this role definition.", "required": true } ], "tags": [ "role_definitions" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDefinitionDetail" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/RoleDefinitionDetail" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/RoleDefinitionDetail" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDefinitionDetail" } } }, "description": "" } }, "x-ai-description": "Update a RBAC roles defining permissions that can be managed and assigned to users and teams" }, "patch": { "operationId": "role_definitions_partial_update", "description": "Update the corresponding resource in each service.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this role definition.", "required": true } ], "tags": [ "role_definitions" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedGatewayRoleDefinition" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedGatewayRoleDefinition" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedGatewayRoleDefinition" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayRoleDefinition" } } }, "description": "" } }, "x-ai-description": "Update a RBAC roles defining permissions that can be managed and assigned to users and teams" }, "delete": { "operationId": "role_definitions_destroy", "description": "Update the corresponding resource in each service.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this role definition.", "required": true } ], "tags": [ "role_definitions" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete a RBAC roles defining permissions that can be managed and assigned to users and teams" } }, "/api/gateway/v1/role_definitions/{id}/team_assignments/": { "get": { "operationId": "role_definitions_team_assignments_list", "description": "Manage Role Team Assignment objects in the 'team_assignments' relationship of this particular Role Definition.\n\nStarting from the detail URL:\n\nGET /:id/team_assignments/ to show role team assignments currently in the relationship", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_definitions" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedGatewayRoleTeamAssignmentList" } } }, "description": "" } }, "x-ai-description": "List all assignments for a role_definition" } }, "/api/gateway/v1/role_definitions/{id}/user_assignments/": { "get": { "operationId": "role_definitions_user_assignments_list", "description": "Manage Role User Assignment objects in the 'user_assignments' relationship of this particular Role Definition.\n\nStarting from the detail URL:\n\nGET /:id/user_assignments/ to show role user assignments currently in the relationship", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_definitions" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedRoleUserAssignmentList" } } }, "description": "" } }, "x-ai-description": "List all assignments for a role_definition" } }, "/api/gateway/v1/role_team_access/{model_name}/{id}/": { "get": { "operationId": "role_team_access_list", "description": "Use this endpoint to get a list of users who have access to a resource.\nThis is a list-only view that provides a list of users, plus extra data.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^([0-9]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$" }, "required": true }, { "in": "path", "name": "model_name", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_team_access" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedTeamAccessViewSet_Team_List" } } }, "description": "" } }, "x-ai-description": "List all role team access" } }, "/api/gateway/v1/role_team_access/{model_name}/{id}/{actor_pk}/": { "get": { "operationId": "role_team_access_list_2", "description": "This gives drill-down information about the means of inheritance\nfor all the permissions show in the higher-level view of the access list", "parameters": [ { "in": "path", "name": "actor_pk", "schema": { "type": "string" }, "required": true }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^([0-9]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$" }, "required": true }, { "in": "path", "name": "model_name", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_team_access" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedTeamAccessAssignmentList" } } }, "description": "" } }, "x-ai-description": "List all role team access" } }, "/api/gateway/v1/role_team_assignments/": { "get": { "operationId": "role_team_assignments_list", "description": "Use this endpoint to give a team permission to a resource or an organization.\nThe needed data is the team, the role definition, and the object id.\nThe object must be of the type specified in the role definition.\nThe type given in the role definition and the provided object_id are used\nto look up the resource.\n\nAfter creation, the assignment cannot be edited, but can be deleted to\nremove those permissions.", "parameters": [ { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_team_assignments" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedGatewayRoleTeamAssignmentList" } } }, "description": "" } }, "x-ai-description": "List RBAC role grants assigning permissions to teams for specific resources" }, "post": { "operationId": "role_team_assignments_create", "description": "Use this endpoint to give a team permission to a resource or an organization.\nThe needed data is the team, the role definition, and the object id.\nThe object must be of the type specified in the role definition.\nThe type given in the role definition and the provided object_id are used\nto look up the resource.\n\nAfter creation, the assignment cannot be edited, but can be deleted to\nremove those permissions.", "tags": [ "role_team_assignments" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayRoleTeamAssignment" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/GatewayRoleTeamAssignment" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/GatewayRoleTeamAssignment" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayRoleTeamAssignment" } } }, "description": "" } }, "x-ai-description": "Create a RBAC role grants assigning permissions to team for specific resources" } }, "/api/gateway/v1/role_team_assignments/{id}/": { "get": { "operationId": "role_team_assignments_retrieve", "description": "Use this endpoint to give a team permission to a resource or an organization.\nThe needed data is the team, the role definition, and the object id.\nThe object must be of the type specified in the role definition.\nThe type given in the role definition and the provided object_id are used\nto look up the resource.\n\nAfter creation, the assignment cannot be edited, but can be deleted to\nremove those permissions.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this role team assignment.", "required": true } ], "tags": [ "role_team_assignments" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayRoleTeamAssignment" } } }, "description": "" } }, "x-ai-description": "Retrieve a RBAC role grants assigning permissions to team for specific resources" }, "delete": { "operationId": "role_team_assignments_destroy", "description": "Use this endpoint to give a team permission to a resource or an organization.\nThe needed data is the team, the role definition, and the object id.\nThe object must be of the type specified in the role definition.\nThe type given in the role definition and the provided object_id are used\nto look up the resource.\n\nAfter creation, the assignment cannot be edited, but can be deleted to\nremove those permissions.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this role team assignment.", "required": true } ], "tags": [ "role_team_assignments" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete a RBAC role grants assigning permissions to team for specific resources" } }, "/api/gateway/v1/role_user_access/{model_name}/{id}/": { "get": { "operationId": "role_user_access_list", "description": "Use this endpoint to get a list of users who have access to a resource.\nThis is a list-only view that provides a list of users, plus extra data.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^([0-9]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$" }, "required": true }, { "in": "path", "name": "model_name", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_user_access" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserAccessViewSet_User_List" } } }, "description": "" } }, "x-ai-description": "List all role user access" } }, "/api/gateway/v1/role_user_access/{model_name}/{id}/{actor_pk}/": { "get": { "operationId": "role_user_access_list_2", "description": "This gives drill-down information about the means of inheritance\nfor all the permissions show in the higher-level view of the access list", "parameters": [ { "in": "path", "name": "actor_pk", "schema": { "type": "string" }, "required": true }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^([0-9]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$" }, "required": true }, { "in": "path", "name": "model_name", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_user_access" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserAccessAssignmentList" } } }, "description": "" } }, "x-ai-description": "List all role user access" } }, "/api/gateway/v1/role_user_assignments/": { "get": { "operationId": "role_user_assignments_list", "parameters": [ { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "role_user_assignments" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedRoleUserAssignmentList" } } }, "description": "" } }, "x-ai-description": "List RBAC role grants assigning permissions to users for specific resources" }, "post": { "operationId": "role_user_assignments_create", "description": "Give a user permission to a resource, an organization, or globally (when allowed). Must specify 'role_definition' and exactly one of 'user' or 'user_ansible_id'. Can specify at most one of 'object_id' or 'object_ansible_id' (omit both for global roles). The content_type of the role definition and the provided object_id are used to look up the resource. After creation, the assignment cannot be edited, but can be deleted to remove those permissions.", "tags": [ "role_user_assignments" ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/RoleUserAssignment" }, { "description": "Must provide exactly one of: user (integer ID) or user_ansible_id (UUID). Mutual exclusivity enforced by server validation.", "properties": { "user": { "type": "integer", "nullable": true, "description": "ID of the user to assign the role to. Mutually exclusive with user_ansible_id." }, "user_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "Ansible ID of the user to assign the role to. Mutually exclusive with user." } } }, { "description": "Can provide at most one of: object_id or object_ansible_id. Omit both for global role assignments. Mutual exclusivity enforced by server validation.", "properties": { "object_id": { "oneOf": [ { "type": "integer" }, { "type": "string", "format": "uuid" } ], "nullable": true, "description": "ID of the resource object. Mutually exclusive with object_ansible_id." }, "object_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "Ansible ID of the resource object. Mutually exclusive with object_id." } } } ] } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleUserAssignment" } } }, "description": "" } }, "x-ai-description": "Create a RBAC role grants assigning permissions to user for specific resources" } }, "/api/gateway/v1/role_user_assignments/{id}/": { "get": { "operationId": "role_user_assignments_retrieve", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this role user assignment.", "required": true } ], "tags": [ "role_user_assignments" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleUserAssignment" } } }, "description": "" } }, "x-ai-description": "Retrieve a RBAC role grants assigning permissions to user for specific resources" }, "delete": { "operationId": "role_user_assignments_destroy", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this role user assignment.", "required": true } ], "tags": [ "role_user_assignments" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete a RBAC role grants assigning permissions to user for specific resources" } }, "/api/gateway/v1/routes/": { "get": { "operationId": "routes_list", "description": "API endpoint that allows additional routes to be viewed or edited.", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "enable_gateway_auth", "schema": { "type": "string" }, "description": "Filter by enable_gateway_auth (exact match)" }, { "in": "query", "name": "enable_mtls", "schema": { "type": "string" }, "description": "Filter by enable_mtls (exact match)" }, { "in": "query", "name": "envoy_cluster_name", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (exact match)" }, { "in": "query", "name": "envoy_cluster_name__icontains", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (case-insensitive partial match)" }, { "in": "query", "name": "gateway_path", "schema": { "type": "string" }, "description": "Filter by gateway_path (exact match)" }, { "in": "query", "name": "gateway_path__icontains", "schema": { "type": "string" }, "description": "Filter by gateway_path (case-insensitive partial match)" }, { "in": "query", "name": "http_port", "schema": { "type": "string" }, "description": "Filter by http_port (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "idle_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (exact match)" }, { "in": "query", "name": "idle_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gt)" }, { "in": "query", "name": "idle_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gte)" }, { "in": "query", "name": "idle_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lt)" }, { "in": "query", "name": "idle_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lte)" }, { "in": "query", "name": "is_internal_route", "schema": { "type": "string" }, "description": "Filter by is_internal_route (exact match)" }, { "in": "query", "name": "is_service_https", "schema": { "type": "string" }, "description": "Filter by is_service_https (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "node_tags", "schema": { "type": "string" }, "description": "Filter by node_tags (exact match)" }, { "in": "query", "name": "node_tags__icontains", "schema": { "type": "string" }, "description": "Filter by node_tags (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "request_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (exact match)" }, { "in": "query", "name": "request_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gt)" }, { "in": "query", "name": "request_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gte)" }, { "in": "query", "name": "request_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lt)" }, { "in": "query", "name": "request_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lte)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "route_ptr", "schema": { "type": "string" }, "description": "Filter by route_ptr (exact match)" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "service_path", "schema": { "type": "string" }, "description": "Filter by service_path (exact match)" }, { "in": "query", "name": "service_path__icontains", "schema": { "type": "string" }, "description": "Filter by service_path (case-insensitive partial match)" }, { "in": "query", "name": "service_port", "schema": { "type": "string" }, "description": "Filter by service_port (exact match)" }, { "in": "query", "name": "service_port__gt", "schema": { "type": "string" }, "description": "Filter by service_port (gt)" }, { "in": "query", "name": "service_port__gte", "schema": { "type": "string" }, "description": "Filter by service_port (gte)" }, { "in": "query", "name": "service_port__lt", "schema": { "type": "string" }, "description": "Filter by service_port (lt)" }, { "in": "query", "name": "service_port__lte", "schema": { "type": "string" }, "description": "Filter by service_port (lte)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "routes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAdditionalRouteList" } } }, "description": "" } }, "x-ai-description": "List all routes" }, "post": { "operationId": "routes_create", "description": "API endpoint that allows additional routes to be viewed or edited.", "tags": [ "routes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } } }, "description": "" } }, "x-ai-description": "Create new route" } }, "/api/gateway/v1/routes/{id}/": { "get": { "operationId": "routes_retrieve", "description": "API endpoint that allows additional routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true } ], "tags": [ "routes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } } }, "description": "" } }, "x-ai-description": "Retrieve single route" }, "put": { "operationId": "routes_update", "description": "API endpoint that allows additional routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true } ], "tags": [ "routes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } } }, "description": "" } }, "x-ai-description": "Update existing route" }, "patch": { "operationId": "routes_partial_update", "description": "API endpoint that allows additional routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true } ], "tags": [ "routes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedAdditionalRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedAdditionalRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedAdditionalRoute" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRoute" } } }, "description": "" } }, "x-ai-description": "Partially update existing route" }, "delete": { "operationId": "routes_destroy", "description": "API endpoint that allows additional routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true } ], "tags": [ "routes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing route" } }, "/api/gateway/v1/service-index/": { "get": { "operationId": "service_index_retrieve", "description": "Link other resource registry endpoints", "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "description": "No response body" } }, "x-ai-description": "Retrieve single service index" } }, "/api/gateway/v1/service-index/metadata/": { "get": { "operationId": "service_index_metadata_retrieve", "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "description": "No response body" } }, "x-ai-description": "Retrieve single service index metadatum" } }, "/api/gateway/v1/service-index/object-delete/": { "post": { "operationId": "service_index_object_delete_create", "description": "Delete all role assignments (user and team) for a specific resource.\n\nExpected request data:\n{\n \"resource_type\": \"main.inventory\",\n \"resource_pk\": \"4\"\n}", "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "description": "No response body" } }, "x-ai-description": "Remove all role assignments for a resource indexed from connected AAP services" } }, "/api/gateway/v1/service-index/resource-types/": { "get": { "operationId": "service_index_resource_types_list", "description": "Index of the resource types that are configured in the system.", "parameters": [ { "in": "query", "name": "content_type", "schema": { "type": "string" }, "description": "Filter by content_type (exact match)" }, { "in": "query", "name": "externally_managed", "schema": { "type": "string" }, "description": "Filter by externally_managed (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResourceTypeList" } } }, "description": "" } }, "x-ai-description": "List all service index resource types" } }, "/api/gateway/v1/service-index/resource-types/{name}/": { "get": { "operationId": "service_index_resource_types_retrieve", "description": "Index of the resource types that are configured in the system.", "parameters": [ { "in": "path", "name": "name", "schema": { "type": "string", "pattern": "^[^/]+$" }, "required": true } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResourceType" } } }, "description": "" } }, "x-ai-description": "Retrieve single service index resource type" } }, "/api/gateway/v1/service-index/resource-types/{name}/manifest/": { "get": { "operationId": "service_index_resource_types_manifest_retrieve", "description": "Returns the as a stream the csv of resource_id,hash for a given resource type.", "parameters": [ { "in": "path", "name": "name", "schema": { "type": "string", "pattern": "^[^/]+$" }, "required": true } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResourceType" } } }, "description": "" } }, "x-ai-description": "Retrieve single manifest for a resource-type" } }, "/api/gateway/v1/service-index/resources/": { "get": { "operationId": "service_index_resources_list", "description": "Index of all the resources in the system.", "parameters": [ { "in": "query", "name": "ansible_id", "schema": { "type": "string" }, "description": "Filter by ansible_id (exact match)" }, { "in": "query", "name": "content_object", "schema": { "type": "string" }, "description": "Filter by content_object (exact match)" }, { "in": "query", "name": "content_type", "schema": { "type": "string" }, "description": "Filter by content_type (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_partially_migrated", "schema": { "type": "string" }, "description": "Filter by is_partially_migrated (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "object_id", "schema": { "type": "string" }, "description": "Filter by object_id (exact match)" }, { "in": "query", "name": "object_id__icontains", "schema": { "type": "string" }, "description": "Filter by object_id (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "service_id", "schema": { "type": "string" }, "description": "Filter by service_id (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResourceListList" } } }, "description": "" } }, "x-ai-description": "List all service index resources" }, "post": { "operationId": "service_index_resources_create", "description": "Index of all the resources in the system.", "tags": [ "service-index" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Resource" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Resource" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Resource" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Resource" } } }, "description": "" } }, "x-ai-description": "Create new service index resource" } }, "/api/gateway/v1/service-index/resources/{ansible_id}/": { "get": { "operationId": "service_index_resources_retrieve", "description": "Index of all the resources in the system.", "parameters": [ { "in": "path", "name": "ansible_id", "schema": { "type": "string", "format": "uuid", "description": "A unique ID identifying this resource by the resource server." }, "required": true } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Resource" } } }, "description": "" } }, "x-ai-description": "Retrieve single service index resource" }, "put": { "operationId": "service_index_resources_update", "description": "Index of all the resources in the system.", "parameters": [ { "in": "path", "name": "ansible_id", "schema": { "type": "string", "format": "uuid", "description": "A unique ID identifying this resource by the resource server." }, "required": true } ], "tags": [ "service-index" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Resource" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Resource" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Resource" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Resource" } } }, "description": "" } }, "x-ai-description": "Update existing service index resource" }, "patch": { "operationId": "service_index_resources_partial_update", "description": "Index of all the resources in the system.", "parameters": [ { "in": "path", "name": "ansible_id", "schema": { "type": "string", "format": "uuid", "description": "A unique ID identifying this resource by the resource server." }, "required": true } ], "tags": [ "service-index" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedResource" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedResource" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedResource" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Resource" } } }, "description": "" } }, "x-ai-description": "Partially update existing service index resource" }, "delete": { "operationId": "service_index_resources_destroy", "description": "Index of all the resources in the system.", "parameters": [ { "in": "path", "name": "ansible_id", "schema": { "type": "string", "format": "uuid", "description": "A unique ID identifying this resource by the resource server." }, "required": true } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing service index resource" } }, "/api/gateway/v1/service-index/role-permissions/": { "get": { "operationId": "service_index_role_permissions_list", "description": "List of permissions managed with the RBAC system", "parameters": [ { "in": "query", "name": "api_slug", "schema": { "type": "string" }, "description": "Filter by api_slug (exact match)" }, { "in": "query", "name": "api_slug__icontains", "schema": { "type": "string" }, "description": "Filter by api_slug (case-insensitive partial match)" }, { "in": "query", "name": "codename", "schema": { "type": "string" }, "description": "Filter by codename (exact match)" }, { "in": "query", "name": "codename__icontains", "schema": { "type": "string" }, "description": "Filter by codename (case-insensitive partial match)" }, { "in": "query", "name": "content_type", "schema": { "type": "string" }, "description": "Filter by content_type (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedDABPermissionList" } } }, "description": "" } }, "x-ai-description": "List all service index role permissions" } }, "/api/gateway/v1/service-index/role-team-assignments/": { "get": { "operationId": "service_index_role_team_assignments_list", "description": "List of team role assignments for cross-service communication", "parameters": [ { "in": "query", "name": "content_object", "schema": { "type": "string" }, "description": "Filter by content_object (exact match)" }, { "in": "query", "name": "content_type", "schema": { "type": "string" }, "description": "Filter by content_type (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "object_id", "schema": { "type": "string" }, "description": "Filter by object_id (exact match)" }, { "in": "query", "name": "object_id__icontains", "schema": { "type": "string" }, "description": "Filter by object_id (case-insensitive partial match)" }, { "in": "query", "name": "object_role", "schema": { "type": "string" }, "description": "Filter by object_role (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_definition", "schema": { "type": "string" }, "description": "Filter by role_definition (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "team", "schema": { "type": "string" }, "description": "Filter by team (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceRoleTeamAssignmentList" } } }, "description": "" } }, "x-ai-description": "List all service index role team assignments" } }, "/api/gateway/v1/service-index/role-team-assignments/assign/": { "post": { "operationId": "service_index_role_team_assignments_assign_create", "description": "List of team role assignments for cross-service communication", "tags": [ "service-index" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } } }, "description": "" } }, "x-ai-description": "Create new service index role team assignments assign" } }, "/api/gateway/v1/service-index/role-team-assignments/unassign/": { "post": { "operationId": "service_index_role_team_assignments_unassign_create", "description": "List of team role assignments for cross-service communication", "tags": [ "service-index" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } } }, "description": "" } }, "x-ai-description": "Create new service index role team assignments unassign" } }, "/api/gateway/v1/service-index/role-types/": { "get": { "operationId": "service_index_role_types_list", "description": "List of types registered with the RBAC system, or loaded in from external system", "parameters": [ { "in": "query", "name": "api_slug", "schema": { "type": "string" }, "description": "Filter by api_slug (exact match)" }, { "in": "query", "name": "api_slug__icontains", "schema": { "type": "string" }, "description": "Filter by api_slug (case-insensitive partial match)" }, { "in": "query", "name": "app_label", "schema": { "type": "string" }, "description": "Filter by app_label (exact match)" }, { "in": "query", "name": "app_label__icontains", "schema": { "type": "string" }, "description": "Filter by app_label (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "model", "schema": { "type": "string" }, "description": "Filter by model (exact match)" }, { "in": "query", "name": "model__icontains", "schema": { "type": "string" }, "description": "Filter by model (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "parent_content_type", "schema": { "type": "string" }, "description": "Filter by parent_content_type (exact match)" }, { "in": "query", "name": "pk_field_type", "schema": { "type": "string" }, "description": "Filter by pk_field_type (exact match)" }, { "in": "query", "name": "pk_field_type__icontains", "schema": { "type": "string" }, "description": "Filter by pk_field_type (case-insensitive partial match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service", "schema": { "type": "string" }, "description": "Filter by service (exact match)" }, { "in": "query", "name": "service__icontains", "schema": { "type": "string" }, "description": "Filter by service (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedDABContentTypeList" } } }, "description": "" } }, "x-ai-description": "List all service index role types" } }, "/api/gateway/v1/service-index/role-user-assignments/": { "get": { "operationId": "service_index_role_user_assignments_list", "description": "List of user assignments for cross-service communication", "parameters": [ { "in": "query", "name": "content_object", "schema": { "type": "string" }, "description": "Filter by content_object (exact match)" }, { "in": "query", "name": "content_type", "schema": { "type": "string" }, "description": "Filter by content_type (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "object_id", "schema": { "type": "string" }, "description": "Filter by object_id (exact match)" }, { "in": "query", "name": "object_id__icontains", "schema": { "type": "string" }, "description": "Filter by object_id (case-insensitive partial match)" }, { "in": "query", "name": "object_role", "schema": { "type": "string" }, "description": "Filter by object_role (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_definition", "schema": { "type": "string" }, "description": "Filter by role_definition (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "user", "schema": { "type": "string" }, "description": "Filter by user (exact match)" } ], "tags": [ "service-index" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceRoleUserAssignmentList" } } }, "description": "" } }, "x-ai-description": "List all service index role user assignments" } }, "/api/gateway/v1/service-index/role-user-assignments/assign/": { "post": { "operationId": "service_index_role_user_assignments_assign_create", "description": "List of user assignments for cross-service communication", "tags": [ "service-index" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } } }, "description": "" } }, "x-ai-description": "Create new service index role user assignments assign" } }, "/api/gateway/v1/service-index/role-user-assignments/unassign/": { "post": { "operationId": "service_index_role_user_assignments_unassign_create", "description": "List of user assignments for cross-service communication", "tags": [ "service-index" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } } }, "description": "" } }, "x-ai-description": "Create new service index role user assignments unassign" } }, "/api/gateway/v1/service_clusters/": { "get": { "operationId": "service_clusters_list", "description": "API endpoint that allows service clusters to be viewed or edited.", "parameters": [ { "in": "query", "name": "auth_type", "schema": { "type": "string" }, "description": "Filter by auth_type (exact match)" }, { "in": "query", "name": "auth_type__icontains", "schema": { "type": "string" }, "description": "Filter by auth_type (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "dns_discovery_type", "schema": { "type": "string" }, "description": "Filter by dns_discovery_type (exact match)" }, { "in": "query", "name": "dns_discovery_type__icontains", "schema": { "type": "string" }, "description": "Filter by dns_discovery_type (case-insensitive partial match)" }, { "in": "query", "name": "dns_lookup_family", "schema": { "type": "string" }, "description": "Filter by dns_lookup_family (exact match)" }, { "in": "query", "name": "dns_lookup_family__icontains", "schema": { "type": "string" }, "description": "Filter by dns_lookup_family (case-insensitive partial match)" }, { "in": "query", "name": "health_check_healthy_threshold", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (exact match)" }, { "in": "query", "name": "health_check_healthy_threshold__gt", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (gt)" }, { "in": "query", "name": "health_check_healthy_threshold__gte", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (gte)" }, { "in": "query", "name": "health_check_healthy_threshold__lt", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (lt)" }, { "in": "query", "name": "health_check_healthy_threshold__lte", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (lte)" }, { "in": "query", "name": "health_check_interval_seconds", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (exact match)" }, { "in": "query", "name": "health_check_interval_seconds__gt", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (gt)" }, { "in": "query", "name": "health_check_interval_seconds__gte", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (gte)" }, { "in": "query", "name": "health_check_interval_seconds__lt", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (lt)" }, { "in": "query", "name": "health_check_interval_seconds__lte", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (lte)" }, { "in": "query", "name": "health_check_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (exact match)" }, { "in": "query", "name": "health_check_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (gt)" }, { "in": "query", "name": "health_check_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (gte)" }, { "in": "query", "name": "health_check_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (lt)" }, { "in": "query", "name": "health_check_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (lte)" }, { "in": "query", "name": "health_check_unhealthy_threshold", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (exact match)" }, { "in": "query", "name": "health_check_unhealthy_threshold__gt", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (gt)" }, { "in": "query", "name": "health_check_unhealthy_threshold__gte", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (gte)" }, { "in": "query", "name": "health_check_unhealthy_threshold__lt", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (lt)" }, { "in": "query", "name": "health_check_unhealthy_threshold__lte", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (lte)" }, { "in": "query", "name": "health_checks_enabled", "schema": { "type": "string" }, "description": "Filter by health_checks_enabled (exact match)" }, { "in": "query", "name": "healthy_panic_threshold", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (exact match)" }, { "in": "query", "name": "healthy_panic_threshold__gt", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (gt)" }, { "in": "query", "name": "healthy_panic_threshold__gte", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (gte)" }, { "in": "query", "name": "healthy_panic_threshold__lt", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (lt)" }, { "in": "query", "name": "healthy_panic_threshold__lte", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (lte)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (exact match)" }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds__gt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (gt)" }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds__gte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (gte)" }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds__lt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (lt)" }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds__lte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (lte)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (exact match)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx__gt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (gt)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx__gte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (gte)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx__lt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (lt)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx__lte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (lte)" }, { "in": "query", "name": "outlier_detection_enabled", "schema": { "type": "string" }, "description": "Filter by outlier_detection_enabled (exact match)" }, { "in": "query", "name": "outlier_detection_interval_seconds", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (exact match)" }, { "in": "query", "name": "outlier_detection_interval_seconds__gt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (gt)" }, { "in": "query", "name": "outlier_detection_interval_seconds__gte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (gte)" }, { "in": "query", "name": "outlier_detection_interval_seconds__lt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (lt)" }, { "in": "query", "name": "outlier_detection_interval_seconds__lte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (lte)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (exact match)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent__gt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (gt)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent__gte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (gte)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent__lt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (lt)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent__lte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (lte)" }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_id", "schema": { "type": "string" }, "description": "Filter by service_id (exact match)" }, { "in": "query", "name": "service_type", "schema": { "type": "string" }, "description": "Filter by service_type (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "upstream_hostname", "schema": { "type": "string" }, "description": "Filter by upstream_hostname (exact match)" }, { "in": "query", "name": "upstream_hostname__icontains", "schema": { "type": "string" }, "description": "Filter by upstream_hostname (case-insensitive partial match)" } ], "tags": [ "service_clusters" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceClusterList" } } }, "description": "" } }, "x-ai-description": "List all service clusters" }, "post": { "operationId": "service_clusters_create", "description": "API endpoint that allows service clusters to be viewed or edited.", "tags": [ "service_clusters" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } } }, "description": "" } }, "x-ai-description": "Create new service cluster" } }, "/api/gateway/v1/service_clusters/{id}/": { "get": { "operationId": "service_clusters_retrieve", "description": "API endpoint that allows service clusters to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service cluster.", "required": true } ], "tags": [ "service_clusters" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } } }, "description": "" } }, "x-ai-description": "Retrieve single service cluster" }, "put": { "operationId": "service_clusters_update", "description": "API endpoint that allows service clusters to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service cluster.", "required": true } ], "tags": [ "service_clusters" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } } }, "description": "" } }, "x-ai-description": "Update existing service cluster" }, "patch": { "operationId": "service_clusters_partial_update", "description": "API endpoint that allows service clusters to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service cluster.", "required": true } ], "tags": [ "service_clusters" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedServiceCluster" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedServiceCluster" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedServiceCluster" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCluster" } } }, "description": "" } }, "x-ai-description": "Partially update existing service cluster" }, "delete": { "operationId": "service_clusters_destroy", "description": "API endpoint that allows service clusters to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service cluster.", "required": true } ], "tags": [ "service_clusters" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing service cluster" } }, "/api/gateway/v1/service_clusters/{id}/nodes/": { "get": { "operationId": "service_clusters_nodes_list", "description": "Manage Service Node objects in the 'nodes' relationship of this particular Service Cluster.\n\nStarting from the detail URL:\n\nGET /:id/nodes/ to show service nodes currently in the relationship", "parameters": [ { "in": "query", "name": "address", "schema": { "type": "string" }, "description": "Filter by address (exact match)" }, { "in": "query", "name": "address__icontains", "schema": { "type": "string" }, "description": "Filter by address (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "tags", "schema": { "type": "string" }, "description": "Filter by tags (exact match)" }, { "in": "query", "name": "tags__icontains", "schema": { "type": "string" }, "description": "Filter by tags (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service_clusters" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceNodeList" } } }, "description": "" } }, "x-ai-description": "List all nodes for a service_cluster" } }, "/api/gateway/v1/service_clusters/{id}/routes/": { "get": { "operationId": "service_clusters_routes_list", "description": "Manage Additional Route objects in the 'routes' relationship of this particular Service Cluster.\n\nStarting from the detail URL:\n\nGET /:id/routes/ to show additional routes currently in the relationship\n\nPOST a list of instances to /:id/routes/associate/ to add those additional routes to the relationship\n\nPOST a list of instances to /:id/routes/disassociate/ to remove those additional routes from the relationshp", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "enable_gateway_auth", "schema": { "type": "string" }, "description": "Filter by enable_gateway_auth (exact match)" }, { "in": "query", "name": "enable_mtls", "schema": { "type": "string" }, "description": "Filter by enable_mtls (exact match)" }, { "in": "query", "name": "envoy_cluster_name", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (exact match)" }, { "in": "query", "name": "envoy_cluster_name__icontains", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (case-insensitive partial match)" }, { "in": "query", "name": "gateway_path", "schema": { "type": "string" }, "description": "Filter by gateway_path (exact match)" }, { "in": "query", "name": "gateway_path__icontains", "schema": { "type": "string" }, "description": "Filter by gateway_path (case-insensitive partial match)" }, { "in": "query", "name": "http_port", "schema": { "type": "string" }, "description": "Filter by http_port (exact match)" }, { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "idle_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (exact match)" }, { "in": "query", "name": "idle_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gt)" }, { "in": "query", "name": "idle_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gte)" }, { "in": "query", "name": "idle_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lt)" }, { "in": "query", "name": "idle_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lte)" }, { "in": "query", "name": "is_internal_route", "schema": { "type": "string" }, "description": "Filter by is_internal_route (exact match)" }, { "in": "query", "name": "is_service_https", "schema": { "type": "string" }, "description": "Filter by is_service_https (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "node_tags", "schema": { "type": "string" }, "description": "Filter by node_tags (exact match)" }, { "in": "query", "name": "node_tags__icontains", "schema": { "type": "string" }, "description": "Filter by node_tags (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "request_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (exact match)" }, { "in": "query", "name": "request_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gt)" }, { "in": "query", "name": "request_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gte)" }, { "in": "query", "name": "request_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lt)" }, { "in": "query", "name": "request_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lte)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "route_ptr", "schema": { "type": "string" }, "description": "Filter by route_ptr (exact match)" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "service_path", "schema": { "type": "string" }, "description": "Filter by service_path (exact match)" }, { "in": "query", "name": "service_path__icontains", "schema": { "type": "string" }, "description": "Filter by service_path (case-insensitive partial match)" }, { "in": "query", "name": "service_port", "schema": { "type": "string" }, "description": "Filter by service_port (exact match)" }, { "in": "query", "name": "service_port__gt", "schema": { "type": "string" }, "description": "Filter by service_port (gt)" }, { "in": "query", "name": "service_port__gte", "schema": { "type": "string" }, "description": "Filter by service_port (gte)" }, { "in": "query", "name": "service_port__lt", "schema": { "type": "string" }, "description": "Filter by service_port (lt)" }, { "in": "query", "name": "service_port__lte", "schema": { "type": "string" }, "description": "Filter by service_port (lte)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service_clusters" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedAdditionalRouteList" } } }, "description": "" } }, "x-ai-description": "List all routes for a service_cluster" } }, "/api/gateway/v1/service_clusters/{id}/routes/associate/": { "post": { "operationId": "service_clusters_routes_associate_create", "description": "Manage Additional Route objects in the 'routes' relationship of this particular Service Cluster.\n\nStarting from the detail URL:\n\nGET /:id/routes/ to show additional routes currently in the relationship\n\nPOST a list of instances to /:id/routes/associate/ to add those additional routes to the relationship\n\nPOST a list of instances to /:id/routes/disassociate/ to remove those additional routes from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true } ], "tags": [ "service_clusters" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRouteAssociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AdditionalRouteAssociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AdditionalRouteAssociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRouteAssociate" } } }, "description": "" } }, "x-ai-description": "Associate routes with a service cluster" } }, "/api/gateway/v1/service_clusters/{id}/routes/disassociate/": { "post": { "operationId": "service_clusters_routes_disassociate_create", "description": "Manage Additional Route objects in the 'routes' relationship of this particular Service Cluster.\n\nStarting from the detail URL:\n\nGET /:id/routes/ to show additional routes currently in the relationship\n\nPOST a list of instances to /:id/routes/associate/ to add those additional routes to the relationship\n\nPOST a list of instances to /:id/routes/disassociate/ to remove those additional routes from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this additional route.", "required": true } ], "tags": [ "service_clusters" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRouteDisassociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AdditionalRouteDisassociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AdditionalRouteDisassociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdditionalRouteDisassociate" } } }, "description": "" } }, "x-ai-description": "Disassociate routes from a service cluster" } }, "/api/gateway/v1/service_clusters/{id}/service_keys/": { "get": { "operationId": "service_clusters_service_keys_list", "description": "Manage Service Key objects in the 'service_keys' relationship of this particular Service Cluster.\n\nStarting from the detail URL:\n\nGET /:id/service_keys/ to show service keys currently in the relationship", "parameters": [ { "in": "query", "name": "algorithm", "schema": { "type": "string" }, "description": "Filter by algorithm (exact match)" }, { "in": "query", "name": "algorithm__icontains", "schema": { "type": "string" }, "description": "Filter by algorithm (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_active", "schema": { "type": "string" }, "description": "Filter by is_active (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "secret", "schema": { "type": "string" }, "description": "Filter by secret (exact match)" }, { "in": "query", "name": "secret__icontains", "schema": { "type": "string" }, "description": "Filter by secret (case-insensitive partial match)" }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service_clusters" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceKeyList" } } }, "description": "" } }, "x-ai-description": "List all keys for a service_cluster" } }, "/api/gateway/v1/service_clusters/{id}/service_types/": { "get": { "operationId": "service_clusters_service_types_list", "description": "Manage Service Type objects in the 'service_types' relationship of this particular Service Cluster.\n\nStarting from the detail URL:\n\nGET /:id/service_types/ to show service types currently in the relationship\n\nPOST a list of instances to /:id/service_types/associate/ to add those service types to the relationship\n\nPOST a list of instances to /:id/service_types/disassociate/ to remove those service types from the relationshp", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "login_path", "schema": { "type": "string" }, "description": "Filter by login_path (exact match)" }, { "in": "query", "name": "login_path__icontains", "schema": { "type": "string" }, "description": "Filter by login_path (case-insensitive partial match)" }, { "in": "query", "name": "logout_path", "schema": { "type": "string" }, "description": "Filter by logout_path (exact match)" }, { "in": "query", "name": "logout_path__icontains", "schema": { "type": "string" }, "description": "Filter by logout_path (case-insensitive partial match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "ping_url", "schema": { "type": "string" }, "description": "Filter by ping_url (exact match)" }, { "in": "query", "name": "ping_url__icontains", "schema": { "type": "string" }, "description": "Filter by ping_url (case-insensitive partial match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_index_path", "schema": { "type": "string" }, "description": "Filter by service_index_path (exact match)" }, { "in": "query", "name": "service_index_path__icontains", "schema": { "type": "string" }, "description": "Filter by service_index_path (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service_clusters" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceTypeList" } } }, "description": "" } }, "x-ai-description": "List all types for a service_cluster" } }, "/api/gateway/v1/service_clusters/{id}/service_types/associate/": { "post": { "operationId": "service_clusters_service_types_associate_create", "description": "Manage Service Type objects in the 'service_types' relationship of this particular Service Cluster.\n\nStarting from the detail URL:\n\nGET /:id/service_types/ to show service types currently in the relationship\n\nPOST a list of instances to /:id/service_types/associate/ to add those service types to the relationship\n\nPOST a list of instances to /:id/service_types/disassociate/ to remove those service types from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "service_clusters" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTypeAssociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceTypeAssociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceTypeAssociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTypeAssociate" } } }, "description": "" } }, "x-ai-description": "Associate service types with a service cluster" } }, "/api/gateway/v1/service_clusters/{id}/service_types/disassociate/": { "post": { "operationId": "service_clusters_service_types_disassociate_create", "description": "Manage Service Type objects in the 'service_types' relationship of this particular Service Cluster.\n\nStarting from the detail URL:\n\nGET /:id/service_types/ to show service types currently in the relationship\n\nPOST a list of instances to /:id/service_types/associate/ to add those service types to the relationship\n\nPOST a list of instances to /:id/service_types/disassociate/ to remove those service types from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "service_clusters" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTypeDisassociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceTypeDisassociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceTypeDisassociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTypeDisassociate" } } }, "description": "" } }, "x-ai-description": "Disassociate service types from a service cluster" } }, "/api/gateway/v1/service_keys/": { "get": { "operationId": "service_keys_list", "description": "API endpoint that allows configuring service authentication keys.", "parameters": [ { "in": "query", "name": "algorithm", "schema": { "type": "string" }, "description": "Filter by algorithm (exact match)" }, { "in": "query", "name": "algorithm__icontains", "schema": { "type": "string" }, "description": "Filter by algorithm (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_active", "schema": { "type": "string" }, "description": "Filter by is_active (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "secret", "schema": { "type": "string" }, "description": "Filter by secret (exact match)" }, { "in": "query", "name": "secret__icontains", "schema": { "type": "string" }, "description": "Filter by secret (case-insensitive partial match)" }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service_keys" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceKeyList" } } }, "description": "" } }, "x-ai-description": "List all service keys" }, "post": { "operationId": "service_keys_create", "description": "API endpoint that allows configuring service authentication keys.", "tags": [ "service_keys" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceKey" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceKey" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceKey" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceKey" } } }, "description": "" } }, "x-ai-description": "Create new service key" } }, "/api/gateway/v1/service_keys/{id}/": { "get": { "operationId": "service_keys_retrieve", "description": "API endpoint that allows configuring service authentication keys.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service key.", "required": true } ], "tags": [ "service_keys" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceKey" } } }, "description": "" } }, "x-ai-description": "Retrieve single service key" }, "put": { "operationId": "service_keys_update", "description": "API endpoint that allows configuring service authentication keys.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service key.", "required": true } ], "tags": [ "service_keys" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceKey" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceKey" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceKey" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceKey" } } }, "description": "" } }, "x-ai-description": "Update existing service key" }, "patch": { "operationId": "service_keys_partial_update", "description": "API endpoint that allows configuring service authentication keys.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service key.", "required": true } ], "tags": [ "service_keys" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedServiceKey" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedServiceKey" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedServiceKey" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceKey" } } }, "description": "" } }, "x-ai-description": "Partially update existing service key" }, "delete": { "operationId": "service_keys_destroy", "description": "API endpoint that allows configuring service authentication keys.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service key.", "required": true } ], "tags": [ "service_keys" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing service key" } }, "/api/gateway/v1/service_nodes/": { "get": { "operationId": "service_nodes_list", "description": "API endpoint that allows service nodes to be viewed or edited.", "parameters": [ { "in": "query", "name": "address", "schema": { "type": "string" }, "description": "Filter by address (exact match)" }, { "in": "query", "name": "address__icontains", "schema": { "type": "string" }, "description": "Filter by address (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "tags", "schema": { "type": "string" }, "description": "Filter by tags (exact match)" }, { "in": "query", "name": "tags__icontains", "schema": { "type": "string" }, "description": "Filter by tags (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service_nodes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceNodeList" } } }, "description": "" } }, "x-ai-description": "List all service nodes" }, "post": { "operationId": "service_nodes_create", "description": "API endpoint that allows service nodes to be viewed or edited.", "tags": [ "service_nodes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceNode" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceNode" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceNode" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceNode" } } }, "description": "" } }, "x-ai-description": "Create new service node" } }, "/api/gateway/v1/service_nodes/{id}/": { "get": { "operationId": "service_nodes_retrieve", "description": "API endpoint that allows service nodes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service node.", "required": true } ], "tags": [ "service_nodes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceNode" } } }, "description": "" } }, "x-ai-description": "Retrieve single service node" }, "put": { "operationId": "service_nodes_update", "description": "API endpoint that allows service nodes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service node.", "required": true } ], "tags": [ "service_nodes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceNode" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceNode" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceNode" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceNode" } } }, "description": "" } }, "x-ai-description": "Update existing service node" }, "patch": { "operationId": "service_nodes_partial_update", "description": "API endpoint that allows service nodes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service node.", "required": true } ], "tags": [ "service_nodes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedServiceNode" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedServiceNode" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedServiceNode" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceNode" } } }, "description": "" } }, "x-ai-description": "Partially update existing service node" }, "delete": { "operationId": "service_nodes_destroy", "description": "API endpoint that allows service nodes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service node.", "required": true } ], "tags": [ "service_nodes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing service node" } }, "/api/gateway/v1/service_types/": { "get": { "operationId": "service_types_list", "description": "API endpoint that allows service types to be viewed or edited", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "login_path", "schema": { "type": "string" }, "description": "Filter by login_path (exact match)" }, { "in": "query", "name": "login_path__icontains", "schema": { "type": "string" }, "description": "Filter by login_path (case-insensitive partial match)" }, { "in": "query", "name": "logout_path", "schema": { "type": "string" }, "description": "Filter by logout_path (exact match)" }, { "in": "query", "name": "logout_path__icontains", "schema": { "type": "string" }, "description": "Filter by logout_path (case-insensitive partial match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "ping_url", "schema": { "type": "string" }, "description": "Filter by ping_url (exact match)" }, { "in": "query", "name": "ping_url__icontains", "schema": { "type": "string" }, "description": "Filter by ping_url (case-insensitive partial match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_index_path", "schema": { "type": "string" }, "description": "Filter by service_index_path (exact match)" }, { "in": "query", "name": "service_index_path__icontains", "schema": { "type": "string" }, "description": "Filter by service_index_path (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "service_types" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceTypeList" } } }, "description": "" } }, "x-ai-description": "List all service types" }, "post": { "operationId": "service_types_create", "description": "API endpoint that allows service types to be viewed or edited", "tags": [ "service_types" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceType" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceType" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceType" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceType" } } }, "description": "" } }, "x-ai-description": "Create new service type" } }, "/api/gateway/v1/service_types/{id}/": { "get": { "operationId": "service_types_retrieve", "description": "API endpoint that allows service types to be viewed or edited", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service type.", "required": true } ], "tags": [ "service_types" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceType" } } }, "description": "" } }, "x-ai-description": "Retrieve single service type" }, "put": { "operationId": "service_types_update", "description": "API endpoint that allows service types to be viewed or edited", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service type.", "required": true } ], "tags": [ "service_types" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceType" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceType" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceType" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceType" } } }, "description": "" } }, "x-ai-description": "Update existing service type" }, "patch": { "operationId": "service_types_partial_update", "description": "API endpoint that allows service types to be viewed or edited", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service type.", "required": true } ], "tags": [ "service_types" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedServiceType" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedServiceType" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedServiceType" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceType" } } }, "description": "" } }, "x-ai-description": "Partially update existing service type" }, "delete": { "operationId": "service_types_destroy", "description": "API endpoint that allows service types to be viewed or edited", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service type.", "required": true } ], "tags": [ "service_types" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing service type" } }, "/api/gateway/v1/service_types/{id}/clusters/": { "get": { "operationId": "service_types_clusters_list", "description": "Manage Service Cluster objects in the 'clusters' relationship of this particular Service Type.\n\nStarting from the detail URL:\n\nGET /:id/clusters/ to show service clusters currently in the relationship", "parameters": [ { "in": "query", "name": "auth_type", "schema": { "type": "string" }, "description": "Filter by auth_type (exact match)" }, { "in": "query", "name": "auth_type__icontains", "schema": { "type": "string" }, "description": "Filter by auth_type (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "dns_discovery_type", "schema": { "type": "string" }, "description": "Filter by dns_discovery_type (exact match)" }, { "in": "query", "name": "dns_discovery_type__icontains", "schema": { "type": "string" }, "description": "Filter by dns_discovery_type (case-insensitive partial match)" }, { "in": "query", "name": "dns_lookup_family", "schema": { "type": "string" }, "description": "Filter by dns_lookup_family (exact match)" }, { "in": "query", "name": "dns_lookup_family__icontains", "schema": { "type": "string" }, "description": "Filter by dns_lookup_family (case-insensitive partial match)" }, { "in": "query", "name": "health_check_healthy_threshold", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (exact match)" }, { "in": "query", "name": "health_check_healthy_threshold__gt", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (gt)" }, { "in": "query", "name": "health_check_healthy_threshold__gte", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (gte)" }, { "in": "query", "name": "health_check_healthy_threshold__lt", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (lt)" }, { "in": "query", "name": "health_check_healthy_threshold__lte", "schema": { "type": "string" }, "description": "Filter by health_check_healthy_threshold (lte)" }, { "in": "query", "name": "health_check_interval_seconds", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (exact match)" }, { "in": "query", "name": "health_check_interval_seconds__gt", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (gt)" }, { "in": "query", "name": "health_check_interval_seconds__gte", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (gte)" }, { "in": "query", "name": "health_check_interval_seconds__lt", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (lt)" }, { "in": "query", "name": "health_check_interval_seconds__lte", "schema": { "type": "string" }, "description": "Filter by health_check_interval_seconds (lte)" }, { "in": "query", "name": "health_check_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (exact match)" }, { "in": "query", "name": "health_check_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (gt)" }, { "in": "query", "name": "health_check_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (gte)" }, { "in": "query", "name": "health_check_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (lt)" }, { "in": "query", "name": "health_check_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by health_check_timeout_seconds (lte)" }, { "in": "query", "name": "health_check_unhealthy_threshold", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (exact match)" }, { "in": "query", "name": "health_check_unhealthy_threshold__gt", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (gt)" }, { "in": "query", "name": "health_check_unhealthy_threshold__gte", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (gte)" }, { "in": "query", "name": "health_check_unhealthy_threshold__lt", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (lt)" }, { "in": "query", "name": "health_check_unhealthy_threshold__lte", "schema": { "type": "string" }, "description": "Filter by health_check_unhealthy_threshold (lte)" }, { "in": "query", "name": "health_checks_enabled", "schema": { "type": "string" }, "description": "Filter by health_checks_enabled (exact match)" }, { "in": "query", "name": "healthy_panic_threshold", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (exact match)" }, { "in": "query", "name": "healthy_panic_threshold__gt", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (gt)" }, { "in": "query", "name": "healthy_panic_threshold__gte", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (gte)" }, { "in": "query", "name": "healthy_panic_threshold__lt", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (lt)" }, { "in": "query", "name": "healthy_panic_threshold__lte", "schema": { "type": "string" }, "description": "Filter by healthy_panic_threshold (lte)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (exact match)" }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds__gt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (gt)" }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds__gte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (gte)" }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds__lt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (lt)" }, { "in": "query", "name": "outlier_detection_base_ejection_time_seconds__lte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_base_ejection_time_seconds (lte)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (exact match)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx__gt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (gt)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx__gte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (gte)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx__lt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (lt)" }, { "in": "query", "name": "outlier_detection_consecutive_5xx__lte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_consecutive_5xx (lte)" }, { "in": "query", "name": "outlier_detection_enabled", "schema": { "type": "string" }, "description": "Filter by outlier_detection_enabled (exact match)" }, { "in": "query", "name": "outlier_detection_interval_seconds", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (exact match)" }, { "in": "query", "name": "outlier_detection_interval_seconds__gt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (gt)" }, { "in": "query", "name": "outlier_detection_interval_seconds__gte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (gte)" }, { "in": "query", "name": "outlier_detection_interval_seconds__lt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (lt)" }, { "in": "query", "name": "outlier_detection_interval_seconds__lte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_interval_seconds (lte)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (exact match)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent__gt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (gt)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent__gte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (gte)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent__lt", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (lt)" }, { "in": "query", "name": "outlier_detection_max_ejection_percent__lte", "schema": { "type": "string" }, "description": "Filter by outlier_detection_max_ejection_percent (lte)" }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_id", "schema": { "type": "string" }, "description": "Filter by service_id (exact match)" }, { "in": "query", "name": "service_type", "schema": { "type": "string" }, "description": "Filter by service_type (exact match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "upstream_hostname", "schema": { "type": "string" }, "description": "Filter by upstream_hostname (exact match)" }, { "in": "query", "name": "upstream_hostname__icontains", "schema": { "type": "string" }, "description": "Filter by upstream_hostname (case-insensitive partial match)" } ], "tags": [ "service_types" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceClusterList" } } }, "description": "" } }, "x-ai-description": "List all clusters for a service_type" } }, "/api/gateway/v1/services/": { "get": { "operationId": "services_list", "description": "API endpoint that allows service API routes to be viewed or edited.", "parameters": [ { "in": "query", "name": "api_slug", "schema": { "type": "string" }, "description": "Filter by api_slug (exact match)" }, { "in": "query", "name": "api_slug__icontains", "schema": { "type": "string" }, "description": "Filter by api_slug (case-insensitive partial match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "enable_gateway_auth", "schema": { "type": "string" }, "description": "Filter by enable_gateway_auth (exact match)" }, { "in": "query", "name": "enable_mtls", "schema": { "type": "string" }, "description": "Filter by enable_mtls (exact match)" }, { "in": "query", "name": "envoy_cluster_name", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (exact match)" }, { "in": "query", "name": "envoy_cluster_name__icontains", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (case-insensitive partial match)" }, { "in": "query", "name": "gateway_path", "schema": { "type": "string" }, "description": "Filter by gateway_path (exact match)" }, { "in": "query", "name": "gateway_path__icontains", "schema": { "type": "string" }, "description": "Filter by gateway_path (case-insensitive partial match)" }, { "in": "query", "name": "http_port", "schema": { "type": "string" }, "description": "Filter by http_port (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "idle_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (exact match)" }, { "in": "query", "name": "idle_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gt)" }, { "in": "query", "name": "idle_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gte)" }, { "in": "query", "name": "idle_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lt)" }, { "in": "query", "name": "idle_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lte)" }, { "in": "query", "name": "is_internal_route", "schema": { "type": "string" }, "description": "Filter by is_internal_route (exact match)" }, { "in": "query", "name": "is_service_https", "schema": { "type": "string" }, "description": "Filter by is_service_https (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "node_tags", "schema": { "type": "string" }, "description": "Filter by node_tags (exact match)" }, { "in": "query", "name": "node_tags__icontains", "schema": { "type": "string" }, "description": "Filter by node_tags (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "request_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (exact match)" }, { "in": "query", "name": "request_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gt)" }, { "in": "query", "name": "request_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gte)" }, { "in": "query", "name": "request_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lt)" }, { "in": "query", "name": "request_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lte)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "route_ptr", "schema": { "type": "string" }, "description": "Filter by route_ptr (exact match)" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "service_path", "schema": { "type": "string" }, "description": "Filter by service_path (exact match)" }, { "in": "query", "name": "service_path__icontains", "schema": { "type": "string" }, "description": "Filter by service_path (case-insensitive partial match)" }, { "in": "query", "name": "service_port", "schema": { "type": "string" }, "description": "Filter by service_port (exact match)" }, { "in": "query", "name": "service_port__gt", "schema": { "type": "string" }, "description": "Filter by service_port (gt)" }, { "in": "query", "name": "service_port__gte", "schema": { "type": "string" }, "description": "Filter by service_port (gte)" }, { "in": "query", "name": "service_port__lt", "schema": { "type": "string" }, "description": "Filter by service_port (lt)" }, { "in": "query", "name": "service_port__lte", "schema": { "type": "string" }, "description": "Filter by service_port (lte)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "services" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedServiceAPIRouteList" } } }, "description": "" } }, "x-ai-description": "List all services" }, "post": { "operationId": "services_create", "description": "API endpoint that allows service API routes to be viewed or edited.", "tags": [ "services" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } } }, "description": "" } }, "x-ai-description": "Create new service" } }, "/api/gateway/v1/services/{id}/": { "get": { "operationId": "services_retrieve", "description": "API endpoint that allows service API routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service api route.", "required": true } ], "tags": [ "services" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } } }, "description": "" } }, "x-ai-description": "Retrieve single service" }, "put": { "operationId": "services_update", "description": "API endpoint that allows service API routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service api route.", "required": true } ], "tags": [ "services" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } } }, "description": "" } }, "x-ai-description": "Update existing service" }, "patch": { "operationId": "services_partial_update", "description": "API endpoint that allows service API routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service api route.", "required": true } ], "tags": [ "services" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedServiceAPIRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedServiceAPIRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedServiceAPIRoute" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceAPIRoute" } } }, "description": "" } }, "x-ai-description": "Partially update existing service" }, "delete": { "operationId": "services_destroy", "description": "API endpoint that allows service API routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this service api route.", "required": true } ], "tags": [ "services" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing service" } }, "/api/gateway/v1/session/": { "get": { "operationId": "session_retrieve", "tags": [ "session" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/session_view" } } }, "description": "" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/session_view_404" } } }, "description": "" } }, "x-ai-description": "Retrieve single session" }, "post": { "operationId": "session_create", "tags": [ "session" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/session_view_post" } } }, "description": "" } }, "x-ai-description": "Create new session" } }, "/api/gateway/v1/settings/": { "get": { "operationId": "settings_list", "description": "A view class for managing and displaying all section of settings, with their urls and names\nEndpoint: '/api/gateway/v1/settings/'", "parameters": [ { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } } ], "tags": [ "settings" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedSettingSectionListList" } } }, "description": "" } }, "x-ai-description": "List setting categories grouping related Gateway configuration preferences" } }, "/api/gateway/v1/settings/{category_slug}/": { "get": { "operationId": "settings_getter", "description": "A view class for managing and displaying a group of settings for a specific category.\nEndpoint: '/api/gateway/v1/settings//'\nParameters:\n- category_slug: The category of the setting (e.g., 'proxy', 'configuration').", "parameters": [ { "in": "path", "name": "category_slug", "schema": { "type": "string", "pattern": "^[a-z0-9_]+$" }, "required": true } ], "tags": [ "settings" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingSection" } } }, "description": "" } }, "x-ai-description": "Get Gateway preferences for a category, or 'all' for all categories" }, "put": { "operationId": "settings_update", "description": "A view class for managing and displaying a group of settings for a specific category.\nEndpoint: '/api/gateway/v1/settings//'\nParameters:\n- category_slug: The category of the setting (e.g., 'proxy', 'configuration').", "parameters": [ { "in": "path", "name": "category_slug", "schema": { "type": "string", "pattern": "^[a-z0-9_]+$" }, "required": true } ], "tags": [ "settings" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingSection" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/SettingSection" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/SettingSection" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingSection" } } }, "description": "" } }, "x-ai-description": "Update Gateway preferences within a category" }, "delete": { "operationId": "settings_destroyer", "description": "Revert all preferences in the current category to their default values\nexcept for read_only or encrypted settings", "parameters": [ { "in": "path", "name": "category_slug", "schema": { "type": "string", "pattern": "^[a-z0-9_]+$" }, "required": true } ], "tags": [ "settings" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Revert Gateway category preferences to defaults, excluding read-only and encrypted settings" } }, "/api/gateway/v1/settings/{category_slug}/{preference_name}/": { "get": { "operationId": "settings_retrieve", "description": "A view class for managing and displaying a single setting information for a specified category.\nURL pattern: '/api/gateway/v1/settings///'\nParameters:\n- category_slug: The category of the setting (e.g., 'proxy', 'configuration').\n- preference_name: The name of the specific setting (e.g., 'request_timeout', 'default_page_size').", "parameters": [ { "in": "path", "name": "category_slug", "schema": { "type": "string", "pattern": "^[a-z0-9_]+$" }, "required": true }, { "in": "path", "name": "preference_name", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_]+$" }, "required": true } ], "tags": [ "settings" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingPreference" } } }, "description": "" } }, "x-ai-description": "Get a single Gateway preference by category and name" }, "delete": { "operationId": "settings_destroy", "description": "revert the setting `preference_name` in section `category_slug` to its default value.\nThe `category_slug` parameter must be specified (i.e., cannot be 'all')\nbecause Preference only guarantees uniqueness for the tuple (section, preference_name).\nTherefore, thus can be multiple settings with the same name in different sections.", "parameters": [ { "in": "path", "name": "category_slug", "schema": { "type": "string", "pattern": "^[a-z0-9_]+$" }, "required": true }, { "in": "path", "name": "preference_name", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_]+$" }, "required": true } ], "tags": [ "settings" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Revert a single Gateway preference to default, excluding read-only and encrypted settings" } }, "/api/gateway/v1/status/": { "get": { "operationId": "status_retrieve", "description": "API endpoint that shows status of platform services.", "parameters": [ { "in": "query", "name": "service_keys", "schema": { "type": "boolean" }, "description": "Use a dictionary to describe services instead of a list" } ], "tags": [ "status" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponseOptions" } } }, "description": "" } }, "x-ai-description": "Returns the current Gateway platform status, including service health and version." } }, "/api/gateway/v1/teams/": { "get": { "operationId": "teams_list", "description": "API endpoint that allows groups to be viewed or edited.", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "organization", "schema": { "type": "string" }, "description": "Filter by organization (exact match)" }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "teams" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedTeamList" } } }, "description": "" } }, "x-ai-description": "List organization subdivisions that group users for bulk permission assignment and role-based access control" }, "post": { "operationId": "teams_create", "description": "API endpoint that allows groups to be viewed or edited.", "tags": [ "teams" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Team" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Team" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Team" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Team" } } }, "description": "" } }, "x-ai-description": "Create a organization subdivisions that group user for bulk permission assignment and role-based access control" } }, "/api/gateway/v1/teams/{id}/": { "get": { "operationId": "teams_retrieve", "description": "API endpoint that allows groups to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this team.", "required": true } ], "tags": [ "teams" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Team" } } }, "description": "" } }, "x-ai-description": "Retrieve a organization subdivisions that group user for bulk permission assignment and role-based access control" }, "put": { "operationId": "teams_update", "description": "API endpoint that allows groups to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this team.", "required": true } ], "tags": [ "teams" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Team" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Team" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Team" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Team" } } }, "description": "" } }, "x-ai-description": "Update a organization subdivisions that group user for bulk permission assignment and role-based access control" }, "patch": { "operationId": "teams_partial_update", "description": "API endpoint that allows groups to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this team.", "required": true } ], "tags": [ "teams" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedTeam" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedTeam" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedTeam" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Team" } } }, "description": "" } }, "x-ai-description": "Update a organization subdivisions that group user for bulk permission assignment and role-based access control" }, "delete": { "operationId": "teams_destroy", "description": "API endpoint that allows groups to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this team.", "required": true } ], "tags": [ "teams" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete a organization subdivisions that group user for bulk permission assignment and role-based access control" } }, "/api/gateway/v1/teams/{id}/admins/": { "get": { "operationId": "teams_admins_list", "description": "Manage User objects in the 'admins' relationship of this particular Team.\n\nStarting from the detail URL:\n\nGET /:id/admins/ to show users currently in the relationship\n\nPOST a list of instances to /:id/admins/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/admins/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "date_joined", "schema": { "type": "string" }, "description": "Filter by date_joined (exact match)" }, { "in": "query", "name": "date_joined__gt", "schema": { "type": "string" }, "description": "Filter by date_joined (gt)" }, { "in": "query", "name": "date_joined__gte", "schema": { "type": "string" }, "description": "Filter by date_joined (gte)" }, { "in": "query", "name": "date_joined__lt", "schema": { "type": "string" }, "description": "Filter by date_joined (lt)" }, { "in": "query", "name": "date_joined__lte", "schema": { "type": "string" }, "description": "Filter by date_joined (lte)" }, { "in": "query", "name": "email", "schema": { "type": "string" }, "description": "Filter by email (exact match)" }, { "in": "query", "name": "email__icontains", "schema": { "type": "string" }, "description": "Filter by email (case-insensitive partial match)" }, { "in": "query", "name": "first_name", "schema": { "type": "string" }, "description": "Filter by first_name (exact match)" }, { "in": "query", "name": "first_name__icontains", "schema": { "type": "string" }, "description": "Filter by first_name (case-insensitive partial match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_active", "schema": { "type": "string" }, "description": "Filter by is_active (exact match)" }, { "in": "query", "name": "is_staff", "schema": { "type": "string" }, "description": "Filter by is_staff (exact match)" }, { "in": "query", "name": "is_superuser", "schema": { "type": "string" }, "description": "Filter by is_superuser (exact match)" }, { "in": "query", "name": "last_login", "schema": { "type": "string" }, "description": "Filter by last_login (exact match)" }, { "in": "query", "name": "last_login__gt", "schema": { "type": "string" }, "description": "Filter by last_login (gt)" }, { "in": "query", "name": "last_login__gte", "schema": { "type": "string" }, "description": "Filter by last_login (gte)" }, { "in": "query", "name": "last_login__lt", "schema": { "type": "string" }, "description": "Filter by last_login (lt)" }, { "in": "query", "name": "last_login__lte", "schema": { "type": "string" }, "description": "Filter by last_login (lte)" }, { "in": "query", "name": "last_login_from", "schema": { "type": "string" }, "description": "Filter by last_login_from (exact match)" }, { "in": "query", "name": "last_name", "schema": { "type": "string" }, "description": "Filter by last_name (exact match)" }, { "in": "query", "name": "last_name__icontains", "schema": { "type": "string" }, "description": "Filter by last_name (case-insensitive partial match)" }, { "in": "query", "name": "managed", "schema": { "type": "string" }, "description": "Filter by managed (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "password", "schema": { "type": "string" }, "description": "Filter by password (exact match)" }, { "in": "query", "name": "password__icontains", "schema": { "type": "string" }, "description": "Filter by password (case-insensitive partial match)" }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "username", "schema": { "type": "string" }, "description": "Filter by username (exact match)" }, { "in": "query", "name": "username__icontains", "schema": { "type": "string" }, "description": "Filter by username (case-insensitive partial match)" } ], "tags": [ "teams" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserList" } } }, "description": "" } }, "x-ai-description": "List all admins for a team" } }, "/api/gateway/v1/teams/{id}/admins/associate/": { "post": { "operationId": "teams_admins_associate_create", "description": "Manage User objects in the 'admins' relationship of this particular Team.\n\nStarting from the detail URL:\n\nGET /:id/admins/ to show users currently in the relationship\n\nPOST a list of instances to /:id/admins/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/admins/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "teams" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserAssociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserAssociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UserAssociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserAssociate" } } }, "description": "" } }, "x-ai-description": "Associate admins with a team" } }, "/api/gateway/v1/teams/{id}/admins/disassociate/": { "post": { "operationId": "teams_admins_disassociate_create", "description": "Manage User objects in the 'admins' relationship of this particular Team.\n\nStarting from the detail URL:\n\nGET /:id/admins/ to show users currently in the relationship\n\nPOST a list of instances to /:id/admins/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/admins/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "teams" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } } }, "description": "" } }, "x-ai-description": "Disassociate admins from a team" } }, "/api/gateway/v1/teams/{id}/users/": { "get": { "operationId": "teams_users_list", "description": "Manage User objects in the 'users' relationship of this particular Team.\n\nStarting from the detail URL:\n\nGET /:id/users/ to show users currently in the relationship\n\nPOST a list of instances to /:id/users/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/users/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "date_joined", "schema": { "type": "string" }, "description": "Filter by date_joined (exact match)" }, { "in": "query", "name": "date_joined__gt", "schema": { "type": "string" }, "description": "Filter by date_joined (gt)" }, { "in": "query", "name": "date_joined__gte", "schema": { "type": "string" }, "description": "Filter by date_joined (gte)" }, { "in": "query", "name": "date_joined__lt", "schema": { "type": "string" }, "description": "Filter by date_joined (lt)" }, { "in": "query", "name": "date_joined__lte", "schema": { "type": "string" }, "description": "Filter by date_joined (lte)" }, { "in": "query", "name": "email", "schema": { "type": "string" }, "description": "Filter by email (exact match)" }, { "in": "query", "name": "email__icontains", "schema": { "type": "string" }, "description": "Filter by email (case-insensitive partial match)" }, { "in": "query", "name": "first_name", "schema": { "type": "string" }, "description": "Filter by first_name (exact match)" }, { "in": "query", "name": "first_name__icontains", "schema": { "type": "string" }, "description": "Filter by first_name (case-insensitive partial match)" }, { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_active", "schema": { "type": "string" }, "description": "Filter by is_active (exact match)" }, { "in": "query", "name": "is_staff", "schema": { "type": "string" }, "description": "Filter by is_staff (exact match)" }, { "in": "query", "name": "is_superuser", "schema": { "type": "string" }, "description": "Filter by is_superuser (exact match)" }, { "in": "query", "name": "last_login", "schema": { "type": "string" }, "description": "Filter by last_login (exact match)" }, { "in": "query", "name": "last_login__gt", "schema": { "type": "string" }, "description": "Filter by last_login (gt)" }, { "in": "query", "name": "last_login__gte", "schema": { "type": "string" }, "description": "Filter by last_login (gte)" }, { "in": "query", "name": "last_login__lt", "schema": { "type": "string" }, "description": "Filter by last_login (lt)" }, { "in": "query", "name": "last_login__lte", "schema": { "type": "string" }, "description": "Filter by last_login (lte)" }, { "in": "query", "name": "last_login_from", "schema": { "type": "string" }, "description": "Filter by last_login_from (exact match)" }, { "in": "query", "name": "last_name", "schema": { "type": "string" }, "description": "Filter by last_name (exact match)" }, { "in": "query", "name": "last_name__icontains", "schema": { "type": "string" }, "description": "Filter by last_name (case-insensitive partial match)" }, { "in": "query", "name": "managed", "schema": { "type": "string" }, "description": "Filter by managed (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "password", "schema": { "type": "string" }, "description": "Filter by password (exact match)" }, { "in": "query", "name": "password__icontains", "schema": { "type": "string" }, "description": "Filter by password (case-insensitive partial match)" }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "username", "schema": { "type": "string" }, "description": "Filter by username (exact match)" }, { "in": "query", "name": "username__icontains", "schema": { "type": "string" }, "description": "Filter by username (case-insensitive partial match)" } ], "tags": [ "teams" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserList" } } }, "description": "" } }, "x-ai-description": "List all users for a team" } }, "/api/gateway/v1/teams/{id}/users/associate/": { "post": { "operationId": "teams_users_associate_create", "description": "Manage User objects in the 'users' relationship of this particular Team.\n\nStarting from the detail URL:\n\nGET /:id/users/ to show users currently in the relationship\n\nPOST a list of instances to /:id/users/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/users/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "teams" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserAssociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserAssociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UserAssociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserAssociate" } } }, "description": "" } }, "x-ai-description": "Associate users with a team" } }, "/api/gateway/v1/teams/{id}/users/disassociate/": { "post": { "operationId": "teams_users_disassociate_create", "description": "Manage User objects in the 'users' relationship of this particular Team.\n\nStarting from the detail URL:\n\nGET /:id/users/ to show users currently in the relationship\n\nPOST a list of instances to /:id/users/associate/ to add those users to the relationship\n\nPOST a list of instances to /:id/users/disassociate/ to remove those users from the relationshp", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true } ], "tags": [ "teams" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDisassociate" } } }, "description": "" } }, "x-ai-description": "Disassociate users from a team" } }, "/api/gateway/v1/tokens/": { "get": { "operationId": "tokens_list", "parameters": [ { "in": "query", "name": "application", "schema": { "type": "string" }, "description": "Filter by application (exact match)" }, { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "expires", "schema": { "type": "string" }, "description": "Filter by expires (exact match)" }, { "in": "query", "name": "expires__gt", "schema": { "type": "string" }, "description": "Filter by expires (gt)" }, { "in": "query", "name": "expires__gte", "schema": { "type": "string" }, "description": "Filter by expires (gte)" }, { "in": "query", "name": "expires__lt", "schema": { "type": "string" }, "description": "Filter by expires (lt)" }, { "in": "query", "name": "expires__lte", "schema": { "type": "string" }, "description": "Filter by expires (lte)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "id_token", "schema": { "type": "string" }, "description": "Filter by id_token (exact match)" }, { "in": "query", "name": "last_used", "schema": { "type": "string" }, "description": "Filter by last_used (exact match)" }, { "in": "query", "name": "last_used__gt", "schema": { "type": "string" }, "description": "Filter by last_used (gt)" }, { "in": "query", "name": "last_used__gte", "schema": { "type": "string" }, "description": "Filter by last_used (gte)" }, { "in": "query", "name": "last_used__lt", "schema": { "type": "string" }, "description": "Filter by last_used (lt)" }, { "in": "query", "name": "last_used__lte", "schema": { "type": "string" }, "description": "Filter by last_used (lte)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "refresh_token", "schema": { "type": "string" }, "description": "Filter by refresh_token (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "scope", "schema": { "type": "string" }, "description": "Filter by scope (exact match)" }, { "in": "query", "name": "scope__icontains", "schema": { "type": "string" }, "description": "Filter by scope (case-insensitive partial match)" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "source_refresh_token", "schema": { "type": "string" }, "description": "Filter by source_refresh_token (exact match)" }, { "in": "query", "name": "token", "schema": { "type": "string" }, "description": "Filter by token (exact match)" }, { "in": "query", "name": "token__icontains", "schema": { "type": "string" }, "description": "Filter by token (case-insensitive partial match)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "user", "schema": { "type": "string" }, "description": "Filter by user (exact match)" } ], "tags": [ "tokens" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedOAuth2TokenList" } } }, "description": "" } }, "x-ai-description": "List all tokens" }, "post": { "operationId": "tokens_create", "tags": [ "tokens" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } } }, "description": "" } }, "x-ai-description": "Create new token" } }, "/api/gateway/v1/tokens/{id}/": { "get": { "operationId": "tokens_retrieve", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this access token.", "required": true } ], "tags": [ "tokens" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } } }, "description": "" } }, "x-ai-description": "Retrieve single token" }, "put": { "operationId": "tokens_update", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this access token.", "required": true } ], "tags": [ "tokens" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } } }, "description": "" } }, "x-ai-description": "Update existing token" }, "patch": { "operationId": "tokens_partial_update", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this access token.", "required": true } ], "tags": [ "tokens" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedOAuth2Token" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedOAuth2Token" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedOAuth2Token" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2Token" } } }, "description": "" } }, "x-ai-description": "Partially update existing token" }, "delete": { "operationId": "tokens_destroy", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this access token.", "required": true } ], "tags": [ "tokens" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing token" } }, "/api/gateway/v1/trigger_definition/": { "get": { "operationId": "trigger_definition_retrieve", "tags": [ "trigger_definition" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "description": "No response body" } }, "x-ai-description": "Retrieve single trigger definition" } }, "/api/gateway/v1/ui_auth/": { "get": { "operationId": "ui_auth_retrieve", "description": "Get UI authentication configuration including available authenticators and settings.", "tags": [ "ui_auth" ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UIAuthResponse" } } }, "description": "" } }, "x-ai-description": "Retrieve single ui auth" } }, "/api/gateway/v1/ui_plugin_routes/": { "get": { "operationId": "ui_plugin_routes_list", "description": "API endpoint that allows service plugin routes to be viewed or edited.", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "description", "schema": { "type": "string" }, "description": "Filter by description (exact match)" }, { "in": "query", "name": "description__icontains", "schema": { "type": "string" }, "description": "Filter by description (case-insensitive partial match)" }, { "in": "query", "name": "enable_gateway_auth", "schema": { "type": "string" }, "description": "Filter by enable_gateway_auth (exact match)" }, { "in": "query", "name": "enable_mtls", "schema": { "type": "string" }, "description": "Filter by enable_mtls (exact match)" }, { "in": "query", "name": "envoy_cluster_name", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (exact match)" }, { "in": "query", "name": "envoy_cluster_name__icontains", "schema": { "type": "string" }, "description": "Filter by envoy_cluster_name (case-insensitive partial match)" }, { "in": "query", "name": "gateway_path", "schema": { "type": "string" }, "description": "Filter by gateway_path (exact match)" }, { "in": "query", "name": "gateway_path__icontains", "schema": { "type": "string" }, "description": "Filter by gateway_path (case-insensitive partial match)" }, { "in": "query", "name": "http_port", "schema": { "type": "string" }, "description": "Filter by http_port (exact match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "idle_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (exact match)" }, { "in": "query", "name": "idle_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gt)" }, { "in": "query", "name": "idle_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (gte)" }, { "in": "query", "name": "idle_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lt)" }, { "in": "query", "name": "idle_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by idle_timeout_seconds (lte)" }, { "in": "query", "name": "is_internal_route", "schema": { "type": "string" }, "description": "Filter by is_internal_route (exact match)" }, { "in": "query", "name": "is_service_https", "schema": { "type": "string" }, "description": "Filter by is_service_https (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "name", "schema": { "type": "string" }, "description": "Filter by name (exact match)" }, { "in": "query", "name": "name__icontains", "schema": { "type": "string" }, "description": "Filter by name (case-insensitive partial match)" }, { "in": "query", "name": "node_tags", "schema": { "type": "string" }, "description": "Filter by node_tags (exact match)" }, { "in": "query", "name": "node_tags__icontains", "schema": { "type": "string" }, "description": "Filter by node_tags (case-insensitive partial match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order__gt", "schema": { "type": "string" }, "description": "Filter by order (gt)" }, { "in": "query", "name": "order__gte", "schema": { "type": "string" }, "description": "Filter by order (gte)" }, { "in": "query", "name": "order__lt", "schema": { "type": "string" }, "description": "Filter by order (lt)" }, { "in": "query", "name": "order__lte", "schema": { "type": "string" }, "description": "Filter by order (lte)" }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "request_timeout_seconds", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (exact match)" }, { "in": "query", "name": "request_timeout_seconds__gt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gt)" }, { "in": "query", "name": "request_timeout_seconds__gte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (gte)" }, { "in": "query", "name": "request_timeout_seconds__lt", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lt)" }, { "in": "query", "name": "request_timeout_seconds__lte", "schema": { "type": "string" }, "description": "Filter by request_timeout_seconds (lte)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "in": "query", "name": "route_ptr", "schema": { "type": "string" }, "description": "Filter by route_ptr (exact match)" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "service_cluster", "schema": { "type": "string" }, "description": "Filter by service_cluster (exact match)" }, { "in": "query", "name": "service_path", "schema": { "type": "string" }, "description": "Filter by service_path (exact match)" }, { "in": "query", "name": "service_path__icontains", "schema": { "type": "string" }, "description": "Filter by service_path (case-insensitive partial match)" }, { "in": "query", "name": "service_port", "schema": { "type": "string" }, "description": "Filter by service_port (exact match)" }, { "in": "query", "name": "service_port__gt", "schema": { "type": "string" }, "description": "Filter by service_port (gt)" }, { "in": "query", "name": "service_port__gte", "schema": { "type": "string" }, "description": "Filter by service_port (gte)" }, { "in": "query", "name": "service_port__lt", "schema": { "type": "string" }, "description": "Filter by service_port (lt)" }, { "in": "query", "name": "service_port__lte", "schema": { "type": "string" }, "description": "Filter by service_port (lte)" }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "ui_plugin_path", "schema": { "type": "string" }, "description": "Filter by ui_plugin_path (exact match)" }, { "in": "query", "name": "ui_plugin_path__icontains", "schema": { "type": "string" }, "description": "Filter by ui_plugin_path (case-insensitive partial match)" } ], "tags": [ "ui_plugin_routes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUIPluginRouteList" } } }, "description": "" } }, "x-ai-description": "List all ui plugin routes" }, "post": { "operationId": "ui_plugin_routes_create", "description": "API endpoint that allows service plugin routes to be viewed or edited.", "tags": [ "ui_plugin_routes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } } }, "description": "" } }, "x-ai-description": "Create new ui plugin route" } }, "/api/gateway/v1/ui_plugin_routes/{id}/": { "get": { "operationId": "ui_plugin_routes_retrieve", "description": "API endpoint that allows service plugin routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this ui plugin route.", "required": true } ], "tags": [ "ui_plugin_routes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } } }, "description": "" } }, "x-ai-description": "Retrieve single ui plugin route" }, "put": { "operationId": "ui_plugin_routes_update", "description": "API endpoint that allows service plugin routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this ui plugin route.", "required": true } ], "tags": [ "ui_plugin_routes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } } }, "description": "" } }, "x-ai-description": "Update existing ui plugin route" }, "patch": { "operationId": "ui_plugin_routes_partial_update", "description": "API endpoint that allows service plugin routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this ui plugin route.", "required": true } ], "tags": [ "ui_plugin_routes" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedUIPluginRoute" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedUIPluginRoute" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedUIPluginRoute" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UIPluginRoute" } } }, "description": "" } }, "x-ai-description": "Partially update existing ui plugin route" }, "delete": { "operationId": "ui_plugin_routes_destroy", "description": "API endpoint that allows service plugin routes to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this ui plugin route.", "required": true } ], "tags": [ "ui_plugin_routes" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete existing ui plugin route" } }, "/api/gateway/v1/users/": { "get": { "operationId": "users_list", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "query", "name": "created", "schema": { "type": "string" }, "description": "Filter by created (exact match)" }, { "in": "query", "name": "created__gt", "schema": { "type": "string" }, "description": "Filter by created (gt)" }, { "in": "query", "name": "created__gte", "schema": { "type": "string" }, "description": "Filter by created (gte)" }, { "in": "query", "name": "created__lt", "schema": { "type": "string" }, "description": "Filter by created (lt)" }, { "in": "query", "name": "created__lte", "schema": { "type": "string" }, "description": "Filter by created (lte)" }, { "in": "query", "name": "created_by", "schema": { "type": "string" }, "description": "Filter by created_by (exact match)" }, { "in": "query", "name": "date_joined", "schema": { "type": "string" }, "description": "Filter by date_joined (exact match)" }, { "in": "query", "name": "date_joined__gt", "schema": { "type": "string" }, "description": "Filter by date_joined (gt)" }, { "in": "query", "name": "date_joined__gte", "schema": { "type": "string" }, "description": "Filter by date_joined (gte)" }, { "in": "query", "name": "date_joined__lt", "schema": { "type": "string" }, "description": "Filter by date_joined (lt)" }, { "in": "query", "name": "date_joined__lte", "schema": { "type": "string" }, "description": "Filter by date_joined (lte)" }, { "in": "query", "name": "email", "schema": { "type": "string" }, "description": "Filter by email (exact match)" }, { "in": "query", "name": "email__icontains", "schema": { "type": "string" }, "description": "Filter by email (case-insensitive partial match)" }, { "in": "query", "name": "first_name", "schema": { "type": "string" }, "description": "Filter by first_name (exact match)" }, { "in": "query", "name": "first_name__icontains", "schema": { "type": "string" }, "description": "Filter by first_name (case-insensitive partial match)" }, { "in": "query", "name": "id", "schema": { "type": "string" }, "description": "Filter by id (exact match)" }, { "in": "query", "name": "id__gt", "schema": { "type": "string" }, "description": "Filter by id (gt)" }, { "in": "query", "name": "id__gte", "schema": { "type": "string" }, "description": "Filter by id (gte)" }, { "in": "query", "name": "id__lt", "schema": { "type": "string" }, "description": "Filter by id (lt)" }, { "in": "query", "name": "id__lte", "schema": { "type": "string" }, "description": "Filter by id (lte)" }, { "in": "query", "name": "is_active", "schema": { "type": "string" }, "description": "Filter by is_active (exact match)" }, { "in": "query", "name": "is_staff", "schema": { "type": "string" }, "description": "Filter by is_staff (exact match)" }, { "in": "query", "name": "is_superuser", "schema": { "type": "string" }, "description": "Filter by is_superuser (exact match)" }, { "in": "query", "name": "last_login", "schema": { "type": "string" }, "description": "Filter by last_login (exact match)" }, { "in": "query", "name": "last_login__gt", "schema": { "type": "string" }, "description": "Filter by last_login (gt)" }, { "in": "query", "name": "last_login__gte", "schema": { "type": "string" }, "description": "Filter by last_login (gte)" }, { "in": "query", "name": "last_login__lt", "schema": { "type": "string" }, "description": "Filter by last_login (lt)" }, { "in": "query", "name": "last_login__lte", "schema": { "type": "string" }, "description": "Filter by last_login (lte)" }, { "in": "query", "name": "last_login_from", "schema": { "type": "string" }, "description": "Filter by last_login_from (exact match)" }, { "in": "query", "name": "last_name", "schema": { "type": "string" }, "description": "Filter by last_name (exact match)" }, { "in": "query", "name": "last_name__icontains", "schema": { "type": "string" }, "description": "Filter by last_name (case-insensitive partial match)" }, { "in": "query", "name": "managed", "schema": { "type": "string" }, "description": "Filter by managed (exact match)" }, { "in": "query", "name": "modified", "schema": { "type": "string" }, "description": "Filter by modified (exact match)" }, { "in": "query", "name": "modified__gt", "schema": { "type": "string" }, "description": "Filter by modified (gt)" }, { "in": "query", "name": "modified__gte", "schema": { "type": "string" }, "description": "Filter by modified (gte)" }, { "in": "query", "name": "modified__lt", "schema": { "type": "string" }, "description": "Filter by modified (lt)" }, { "in": "query", "name": "modified__lte", "schema": { "type": "string" }, "description": "Filter by modified (lte)" }, { "in": "query", "name": "modified_by", "schema": { "type": "string" }, "description": "Filter by modified_by (exact match)" }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "password", "schema": { "type": "string" }, "description": "Filter by password (exact match)" }, { "in": "query", "name": "password__icontains", "schema": { "type": "string" }, "description": "Filter by password (case-insensitive partial match)" }, { "in": "query", "name": "resource", "schema": { "type": "string" }, "description": "Filter by resource (exact match)" }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." }, { "in": "query", "name": "username", "schema": { "type": "string" }, "description": "Filter by username (exact match)" }, { "in": "query", "name": "username__icontains", "schema": { "type": "string" }, "description": "Filter by username (case-insensitive partial match)" } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedUserList" } } }, "description": "" } }, "x-ai-description": "List authenticated platform users with permissions assigned directly or via team membership" }, "post": { "operationId": "users_create", "description": "API endpoint that allows users to be viewed or edited.", "tags": [ "users" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/User" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/User" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "" } }, "x-ai-description": "Create a authenticated platform user with permissions assigned directly or via team membership" } }, "/api/gateway/v1/users/{id}/": { "get": { "operationId": "users_retrieve", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this user.", "required": true } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "" } }, "x-ai-description": "Retrieve a authenticated platform user with permissions assigned directly or via team membership" }, "put": { "operationId": "users_update", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this user.", "required": true } ], "tags": [ "users" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/User" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/User" } } }, "required": true }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "" } }, "x-ai-description": "Update a authenticated platform user with permissions assigned directly or via team membership" }, "patch": { "operationId": "users_partial_update", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this user.", "required": true } ], "tags": [ "users" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchedUser" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/PatchedUser" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/PatchedUser" } } } }, "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "" } }, "x-ai-description": "Update a authenticated platform user with permissions assigned directly or via team membership" }, "delete": { "operationId": "users_destroy", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this user.", "required": true } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "204": { "description": "No response body" } }, "x-ai-description": "Delete a authenticated platform user with permissions assigned directly or via team membership" } }, "/api/gateway/v1/users/{id}/authenticators/": { "get": { "operationId": "users_authenticators_retrieve", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this user.", "required": true } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "" } }, "x-ai-description": "Retrieve a authenticated platform user with permissions assigned directly or via team membership" } }, "/api/gateway/v1/users/{id}/authorized_tokens/": { "get": { "operationId": "users_authorized_tokens_retrieve", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this user.", "required": true } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "" } }, "x-ai-description": "Retrieve single token for an user" } }, "/api/gateway/v1/users/{id}/organizations/": { "get": { "operationId": "users_organizations_list", "description": "Update the corresponding resource in each service.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedOrganizationList" } } }, "description": "" } }, "x-ai-description": "List all organizations for an user" } }, "/api/gateway/v1/users/{id}/personal_tokens/": { "get": { "operationId": "users_personal_tokens_retrieve", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this user.", "required": true } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "" } }, "x-ai-description": "Retrieve single token for an user" } }, "/api/gateway/v1/users/{id}/teams/": { "get": { "operationId": "users_teams_list", "description": "Update the corresponding resource in each service.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "pattern": "^[0-9]+$" }, "required": true }, { "in": "query", "name": "order", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "in": "query", "name": "order_by", "schema": { "type": "string" }, "description": "Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields." }, { "name": "page", "required": false, "in": "query", "description": "A page number within the paginated result set.", "schema": { "type": "integer" } }, { "name": "page_size", "required": false, "in": "query", "description": "Number of results to return per page.", "schema": { "type": "integer" } }, { "in": "query", "name": "role_level", "schema": { "type": "string" }, "description": "Filter by role level for RBAC" }, { "name": "search", "required": false, "in": "query", "description": "A search term.", "schema": { "type": "string" } }, { "in": "query", "name": "type", "schema": { "type": "string" }, "description": "Filter by object type. Supports comma-separated values for multiple types." } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "deprecated": true, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedTeamList" } } }, "description": "" } }, "x-ai-description": "List all teams for an user" } }, "/api/gateway/v1/users/{id}/tokens/": { "get": { "operationId": "users_tokens_retrieve", "description": "API endpoint that allows users to be viewed or edited.", "parameters": [ { "in": "path", "name": "id", "schema": { "type": "integer" }, "description": "A unique integer value identifying this user.", "required": true } ], "tags": [ "users" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "" } }, "x-ai-description": "Retrieve a authenticated platform user with permissions assigned directly or via team membership" } }, "/role_metadata/": { "get": { "operationId": "role_metadata_retrieve", "description": "General data about models and permissions tracked by django-ansible-base RBAC\n\nInformation from this endpoint should be static given a server version.\nThis reflects model definitions, registrations with the permission registry,\nand enablement of RBAC features in settings.\n\nallowed_permissions: Valid permissions for a role of a given content_type", "tags": [ "role_metadata" ], "security": [ { "OAuth2_Authentication": [] }, { "SessionAuthentication": [] }, { "Basic_Authentication": [] } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleMetadata" } } }, "description": "" } }, "x-ai-description": "Retrieve single role metadatum" } } }, "components": { "schemas": { "AdditionalRoute": { "type": "object", "description": "Base serializer for route models.\n\nProvides common validation logic for routes including:\n- Gateway authentication validation for internal routes\n- Mutual TLS (mTLS) validation with gateway authentication\n- Gateway path normalization (collapsing consecutive slashes)\n- Node tags normalization\n- Timeout floor enforcement (request_timeout_seconds & idle_timeout_seconds)\n\nSubclasses can override validate() and call super().validate()\nto add their own validation logic.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "request_timeout_seconds": { "type": "integer", "maximum": 604800, "minimum": 0, "nullable": true, "description": "The request timeout in seconds for this route. Values below the global proxy request_timeout setting are rejected. Leave null to use the global proxy timeout setting. See effective_timeout_seconds for the computed value applied to the route." }, "idle_timeout_seconds": { "type": "integer", "maximum": 86400, "minimum": 0, "nullable": true, "description": "The idle timeout in seconds for this route. Connections with no data transmitted within this period are closed. Values below the global proxy idle_timeout setting are rejected. Leave null to use the global proxy idle timeout setting. See effective_idle_timeout_seconds for the computed value applied to the route." }, "effective_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective request timeout: max(request_timeout_seconds, global request_timeout setting)." }, "effective_idle_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective idle timeout: max(idle_timeout_seconds, global idle_timeout setting)." }, "http_port": { "type": "integer", "description": "The port on the AAP gateway to listen to traffic on." }, "service_cluster": { "type": "integer", "description": "The AAP Service to route traffic to." }, "service_port": { "type": "integer", "maximum": 65535, "minimum": 1, "description": "The port on the service cluster to route traffic to." }, "is_service_https": { "type": "boolean", "description": "Set this to true if the service cluster requires HTTPS." }, "is_internal_route": { "type": "boolean", "description": "If true, the AAP gateway will only allow other AAP services to access this route. Requires gateway auth to be enabled." }, "service_path": { "type": "string", "description": "The URL path on the AAP Service cluster to route traffic to.", "maxLength": 255 }, "gateway_path": { "type": "string", "description": "The path on the AAP gateway to listen to traffic on.", "maxLength": 255 }, "description": { "type": "string", "nullable": true, "description": "A description of this route.", "maxLength": 255 }, "enable_gateway_auth": { "type": "boolean", "description": "If false, the AAP gateway will not insert a gateway token into the proxied request." }, "node_tags": { "type": "string", "description": "A comma-separated list of nodes in the service cluster to receive traffic from this route. Leave blank to select all nodes.", "maxLength": 255 }, "enable_mtls": { "type": "boolean", "description": "If true, the route requires mutual TLS. Connecting clients have to provide one or more certificates." } }, "required": [ "gateway_path", "http_port", "is_service_https", "name", "service_cluster", "service_path", "service_port" ] }, "AdditionalRouteAssociate": { "type": "object", "description": "Serializer used for adding objects to a many-to-many relationship", "properties": { "instances": { "type": "array", "items": { "type": "integer" }, "description": "A list of additional routes to add to this relationship." } }, "required": [ "instances" ] }, "AdditionalRouteDisassociate": { "type": "object", "description": "Serializer used for removing objects that are currently associated via a many-to-many relationship", "properties": { "instances": { "type": "array", "items": { "type": "integer" }, "description": "A list of additional routes to remove from this relationship." } }, "required": [ "instances" ] }, "AppUrl": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "app_url": { "type": "string", "format": "uri", "nullable": true, "description": "The URL of this application.", "maxLength": 200 } }, "required": [ "name" ] }, "Authenticator": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "enabled": { "type": "boolean", "description": "Should this authenticator be enabled." }, "create_objects": { "type": "boolean", "description": "Allow authenticator to create objects (users, teams, organizations)." }, "remove_users": { "type": "boolean", "description": "When a user authenticates from this source should they be removed from any other groups they were previously added to." }, "configuration": { "description": "The required configuration for this source." }, "type": { "enum": [ "ansible_base.authentication.authenticator_plugins.github_enterprise", "ansible_base.authentication.authenticator_plugins.github_enterprise_team", "ansible_base.authentication.authenticator_plugins.saml", "ansible_base.authentication.authenticator_plugins.tacacs", "ansible_base.authentication.authenticator_plugins.oidc", "ansible_base.authentication.authenticator_plugins.github_enterprise_org", "ansible_base.authentication.authenticator_plugins.radius", "ansible_base.authentication.authenticator_plugins.github", "ansible_base.authentication.authenticator_plugins.local", "ansible_base.authentication.authenticator_plugins.github_org", "ansible_base.authentication.authenticator_plugins.keycloak", "ansible_base.authentication.authenticator_plugins.google_oauth2", "ansible_base.authentication.authenticator_plugins.ldap", "ansible_base.authentication.authenticator_plugins.azuread", "ansible_base.authentication.authenticator_plugins.github_team" ], "type": "string", "description": "* `ansible_base.authentication.authenticator_plugins.github_enterprise` - ansible_base.authentication.authenticator_plugins.github_enterprise\n* `ansible_base.authentication.authenticator_plugins.github_enterprise_team` - ansible_base.authentication.authenticator_plugins.github_enterprise_team\n* `ansible_base.authentication.authenticator_plugins.saml` - ansible_base.authentication.authenticator_plugins.saml\n* `ansible_base.authentication.authenticator_plugins.tacacs` - ansible_base.authentication.authenticator_plugins.tacacs\n* `ansible_base.authentication.authenticator_plugins.oidc` - ansible_base.authentication.authenticator_plugins.oidc\n* `ansible_base.authentication.authenticator_plugins.github_enterprise_org` - ansible_base.authentication.authenticator_plugins.github_enterprise_org\n* `ansible_base.authentication.authenticator_plugins.radius` - ansible_base.authentication.authenticator_plugins.radius\n* `ansible_base.authentication.authenticator_plugins.github` - ansible_base.authentication.authenticator_plugins.github\n* `ansible_base.authentication.authenticator_plugins.local` - ansible_base.authentication.authenticator_plugins.local\n* `ansible_base.authentication.authenticator_plugins.github_org` - ansible_base.authentication.authenticator_plugins.github_org\n* `ansible_base.authentication.authenticator_plugins.keycloak` - ansible_base.authentication.authenticator_plugins.keycloak\n* `ansible_base.authentication.authenticator_plugins.google_oauth2` - ansible_base.authentication.authenticator_plugins.google_oauth2\n* `ansible_base.authentication.authenticator_plugins.ldap` - ansible_base.authentication.authenticator_plugins.ldap\n* `ansible_base.authentication.authenticator_plugins.azuread` - ansible_base.authentication.authenticator_plugins.azuread\n* `ansible_base.authentication.authenticator_plugins.github_team` - ansible_base.authentication.authenticator_plugins.github_team", "x-spec-enum-id": "ac765e9996806d56" }, "order": { "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "description": "The order in which an authenticator will be tried. This only pertains to username/password authenticators." }, "slug": { "type": "string", "description": "An immutable identifier for the authenticator; used to generate the sso uri for sso authenticator types", "pattern": "^[-a-zA-Z0-9_]+$" }, "auto_migrate_users_to": { "type": "integer", "nullable": true, "description": "Automatically move users from this authenticator to the target authenticator when a matching user logs in via the target authenticator. For this to work, the field used for the user ID on both authenticators needs to have the same value. This should only be used when migrating users between two authentication mechanisms that share the same user database (such as when both IDPs share the same LDAP user directory)." } }, "required": [ "configuration", "name", "type" ] }, "AuthenticatorAssociate": { "type": "object", "description": "Serializer used for adding objects to a many-to-many relationship", "properties": { "instances": { "type": "array", "items": { "type": "integer" }, "description": "A list of authenticators to add to this relationship." } }, "required": [ "instances" ] }, "AuthenticatorDisassociate": { "type": "object", "description": "Serializer used for removing objects that are currently associated via a many-to-many relationship", "properties": { "instances": { "type": "array", "items": { "type": "integer" }, "description": "A list of authenticators to remove from this relationship." } }, "required": [ "instances" ] }, "AuthenticatorMap": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "authenticator": { "type": "integer", "description": "The authenticator this mapping belongs to." }, "map_type": { "enum": [ "allow", "is_superuser", "role", "organization", "team" ], "type": "string", "x-spec-enum-id": "4064e71cef1ae1e7", "description": "What will the map grant the user? System access (allow) a team or organization membership, the superuser flag or a role in the system.\n\n* `allow` - allow\n* `is_superuser` - is_superuser\n* `role` - role\n* `organization` - organization\n* `team` - team" }, "role": { "type": "string", "nullable": true, "description": "The role this map will grant the authenticating user to the targeted object. Will expand {% for_attr_value(user_orgs) %} syntax", "maxLength": 512 }, "organization": { "type": "string", "nullable": true, "description": "An organization name this rule works on. Will expand {% for_attr_value(user_orgs) %} syntax", "maxLength": 512 }, "team": { "type": "string", "nullable": true, "description": "A team name this rule works on. Will expand {% for_attr_value(user_orgs) %} syntax.", "maxLength": 512 }, "revoke": { "type": "boolean", "description": "Revoke the permission if a user does not meet this rule." }, "triggers": { "description": "Required. Trigger conditions dictionary that determines when this map applies. See /trigger_definition/ for structure details. Only one top-level key per request." }, "order": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The order in which this rule should be processed, smaller numbers are of higher precedence. Items with the same order will be executed in random order." } }, "required": [ "authenticator", "name", "triggers" ] }, "AuthenticatorUpdate": { "type": "object", "description": "Specialized serializer for update operations that makes type field read-only.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "enabled": { "type": "boolean", "description": "Should this authenticator be enabled." }, "create_objects": { "type": "boolean", "description": "Allow authenticator to create objects (users, teams, organizations)." }, "remove_users": { "type": "boolean", "description": "When a user authenticates from this source should they be removed from any other groups they were previously added to." }, "configuration": { "description": "The required configuration for this source." }, "type": { "enum": [ "ansible_base.authentication.authenticator_plugins.github_enterprise", "ansible_base.authentication.authenticator_plugins.github_enterprise_team", "ansible_base.authentication.authenticator_plugins.saml", "ansible_base.authentication.authenticator_plugins.tacacs", "ansible_base.authentication.authenticator_plugins.oidc", "ansible_base.authentication.authenticator_plugins.github_enterprise_org", "ansible_base.authentication.authenticator_plugins.radius", "ansible_base.authentication.authenticator_plugins.github", "ansible_base.authentication.authenticator_plugins.local", "ansible_base.authentication.authenticator_plugins.github_org", "ansible_base.authentication.authenticator_plugins.keycloak", "ansible_base.authentication.authenticator_plugins.google_oauth2", "ansible_base.authentication.authenticator_plugins.ldap", "ansible_base.authentication.authenticator_plugins.azuread", "ansible_base.authentication.authenticator_plugins.github_team" ], "type": "string", "x-spec-enum-id": "ac765e9996806d56", "readOnly": true, "description": "The type of authentication service this is.\n\n* `ansible_base.authentication.authenticator_plugins.github_enterprise` - ansible_base.authentication.authenticator_plugins.github_enterprise\n* `ansible_base.authentication.authenticator_plugins.github_enterprise_team` - ansible_base.authentication.authenticator_plugins.github_enterprise_team\n* `ansible_base.authentication.authenticator_plugins.saml` - ansible_base.authentication.authenticator_plugins.saml\n* `ansible_base.authentication.authenticator_plugins.tacacs` - ansible_base.authentication.authenticator_plugins.tacacs\n* `ansible_base.authentication.authenticator_plugins.oidc` - ansible_base.authentication.authenticator_plugins.oidc\n* `ansible_base.authentication.authenticator_plugins.github_enterprise_org` - ansible_base.authentication.authenticator_plugins.github_enterprise_org\n* `ansible_base.authentication.authenticator_plugins.radius` - ansible_base.authentication.authenticator_plugins.radius\n* `ansible_base.authentication.authenticator_plugins.github` - ansible_base.authentication.authenticator_plugins.github\n* `ansible_base.authentication.authenticator_plugins.local` - ansible_base.authentication.authenticator_plugins.local\n* `ansible_base.authentication.authenticator_plugins.github_org` - ansible_base.authentication.authenticator_plugins.github_org\n* `ansible_base.authentication.authenticator_plugins.keycloak` - ansible_base.authentication.authenticator_plugins.keycloak\n* `ansible_base.authentication.authenticator_plugins.google_oauth2` - ansible_base.authentication.authenticator_plugins.google_oauth2\n* `ansible_base.authentication.authenticator_plugins.ldap` - ansible_base.authentication.authenticator_plugins.ldap\n* `ansible_base.authentication.authenticator_plugins.azuread` - ansible_base.authentication.authenticator_plugins.azuread\n* `ansible_base.authentication.authenticator_plugins.github_team` - ansible_base.authentication.authenticator_plugins.github_team" }, "order": { "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "description": "The order in which an authenticator will be tried. This only pertains to username/password authenticators." }, "slug": { "type": "string", "description": "An immutable identifier for the authenticator; used to generate the sso uri for sso authenticator types", "pattern": "^[-a-zA-Z0-9_]+$" }, "auto_migrate_users_to": { "type": "integer", "nullable": true, "description": "Automatically move users from this authenticator to the target authenticator when a matching user logs in via the target authenticator. For this to work, the field used for the user ID on both authenticators needs to have the same value. This should only be used when migrating users between two authentication mechanisms that share the same user database (such as when both IDPs share the same LDAP user directory)." } }, "required": [ "configuration", "name" ] }, "AuthenticatorUser": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "provider": { "type": "string", "description": "The provider this user authenticated from." }, "user": { "type": "integer", "description": "The local DB user related to this authenticator user." }, "claims": { "description": "The claims for the user as generated by the authenticator maps on their last login." }, "last_login_map_results": { "description": "A data structure indicating how the authenticator maps were evaluated for the last login attempt." }, "access_allowed": { "type": "boolean", "nullable": true, "description": "Tracks if this user was allowed access to the system from the authenticator maps." }, "uid": { "type": "string", "maxLength": 255 }, "created": { "type": "string", "format": "date-time", "readOnly": true }, "modified": { "type": "string", "format": "date-time", "readOnly": true } }, "required": [ "provider", "uid", "user" ] }, "AuthenticatorUserMove": { "type": "object", "properties": { "new_authenticator": { "type": "integer", "description": "The ID of the authenticator to which the user will be moved." }, "keep_memberships": { "type": "boolean", "description": "If false, remove the user's existing memberships and let the authenticator map for the new authenticator manage it instead." }, "merge_with_user": { "type": "integer", "nullable": true, "description": "An optional user to merge this account with." }, "new_uid": { "type": "string", "nullable": true, "description": "Provide a new UID for the user. This value is used to link the users login with the local AAP account. It must match the user identifier from the new authentication provider." }, "merge_accounts_with_same_uid": { "type": "boolean", "description": "If true, automatically merge accounts with the same uid. Mutually exclusive with merge_with_user." }, "remove_other_authenticators": { "type": "boolean", "description": "If true, delete any other authenticator_user entries the user has from old_authenticator." } }, "required": [ "keep_memberships", "merge_accounts_with_same_uid", "new_authenticator", "remove_other_authenticators" ] }, "CACertificate": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "pem_data": { "type": "string" }, "sha256": { "type": "string" }, "related_id_reference": { "type": "string", "description": "Reference to an object that is related to this CA.", "maxLength": 64 } }, "required": [ "name", "pem_data", "sha256" ] }, "ClusterInfo": { "type": "object", "properties": { "cluster_state": { "type": "string" }, "cluster_slots_assigned": { "type": "string" }, "cluster_slots_ok": { "type": "string" }, "cluster_slots_pfail": { "type": "string" }, "cluster_slots_fail": { "type": "string" }, "cluster_known_nodes": { "type": "string" }, "cluster_size": { "type": "string" }, "cluster_current_epoch": { "type": "string" }, "cluster_my_epoch": { "type": "string" }, "cluster_stats_messages_ping_sent": { "type": "string" }, "cluster_stats_messages_pong_sent": { "type": "string" }, "cluster_stats_messages_sent": { "type": "string" }, "cluster_stats_messages_ping_received": { "type": "string" }, "cluster_stats_messages_pong_received": { "type": "string" }, "cluster_stats_messages_received": { "type": "string" } } }, "DABContentType": { "type": "object", "properties": { "api_slug": { "type": "string", "description": "String to use for references to this type from other models in the API.", "maxLength": 201 }, "service": { "type": "string", "description": "service namespace to track what service this type is for. Can have a value of shared, which indicates it is synchronized.", "maxLength": 100 }, "app_label": { "type": "string", "description": "Django app that the model is in. This is an internal technical detail that does not affect API use.", "maxLength": 100 }, "model": { "type": "string", "description": "Name of the type according to the Django ORM Meta model_name convention. Comes from the python class, but lowercase with no spaces.", "maxLength": 100 }, "parent_content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "pk_field_type": { "type": "string", "description": "Database field type of the primary key field of the model, relevant for interal logic tracking permissions.", "maxLength": 100 } }, "required": [ "app_label", "model" ] }, "DABPermission": { "type": "object", "properties": { "api_slug": { "type": "string", "description": "String to use for references to this type from other models in the API.", "maxLength": 201 }, "codename": { "type": "string", "description": "A codename for the permission, in the format {action}_{model_name}. Where action is typically the view set action (view/list/etc) from Django rest framework.", "maxLength": 100 }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "name": { "type": "string", "description": "The name of this permission.", "maxLength": 255 } }, "required": [ "codename", "name" ] }, "Entry": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "operation": { "enum": [ "create", "update", "delete", "associate", "disassociate" ], "type": "string", "x-spec-enum-id": "9d2b7b6e53dc82e9", "description": "The type of change recorded by the entry (i.e. create/update/delete/etc).\n\n* `create` - Entity created\n* `update` - Entity updated\n* `delete` - Entity deleted\n* `associate` - Entity was associated with another entity\n* `disassociate` - Entity was disassociated with another entity" }, "changes": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "nullable": true, "description": "We store strings, we have to convert them back to the correct type.\nRelated associations and disassociations will show a null for changes.", "readOnly": true }, "content_type": { "type": "integer", "description": "The content type which was changed in this entry." }, "object_id": { "type": "string", "nullable": true, "description": "The object id which was modified in this entry." }, "related_content_type": { "type": "integer", "nullable": true, "description": "The content type if this entry is recording an many to many (M2M) change." }, "related_object_id": { "type": "string", "nullable": true, "description": "The object id of the related model if this entry is for an many to many (M2M) change." }, "content_type_model": { "type": "string", "nullable": true, "readOnly": true }, "related_content_type_model": { "type": "string", "nullable": true, "readOnly": true } }, "required": [ "content_type", "operation" ] }, "FeatureFlag": { "type": "object", "description": "Serialize list of feature flags", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "readOnly": true, "description": "The name of the feature flag. Must follow the format of FEATURE__ENABLED." }, "ui_name": { "type": "string", "readOnly": true, "description": "The pretty name to display in the application User Interface" }, "condition": { "type": "string", "readOnly": true, "default": "boolean", "description": "Used to specify a condition, which if met, will enable the feature flag." }, "value": { "type": "string", "description": "The value used to evaluate the conditional specified.", "maxLength": 127 }, "required": { "type": "boolean", "readOnly": true, "description": "If multiple conditions are required to be met to enable a feature flag, 'required' can be used to specify the necessary conditionals." }, "support_level": { "type": "string", "readOnly": true, "description": "The support criteria for the feature flag. Must be one of (DEVELOPER_PREVIEW or TECHNOLOGY_PREVIEW)." }, "visibility": { "type": "boolean", "readOnly": true, "description": "Controls whether the feature is visible in the UI." }, "toggle_type": { "enum": [ "install-time", "run-time" ], "type": "string", "x-spec-enum-id": "3b0623ea623c0ae1", "readOnly": true, "description": "Details whether a flag is toggle-able at run-time or install-time. (Default: 'run-time').\n\n* `install-time` - install-time\n* `run-time` - run-time" }, "description": { "type": "string", "readOnly": true, "description": "A detailed description giving an overview of the feature flag." }, "support_url": { "type": "string", "readOnly": true, "description": "A link to the documentation support URL for the feature" }, "labels": { "readOnly": true, "nullable": true, "description": "A list of labels for the feature flag." }, "state": { "type": "string", "readOnly": true } } }, "FeatureFlagPatch": { "type": "object", "properties": { "value": { "type": "string", "description": "The value used to evaluate the conditional specified.", "maxLength": 127 } } }, "FeatureFlagStates": { "type": "object", "description": "Serialize list of feature flags", "properties": { "name": { "type": "string", "description": "The name of the feature flag. Must follow the format of FEATURE__ENABLED.", "maxLength": 64 }, "state": { "type": "string", "readOnly": true } }, "required": [ "name" ] }, "GatewayRoleDefinition": { "type": "object", "description": "Custom serializer with Gateway-specific validation\n\nGenerated by Claude Sonnet 4", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "permissions": { "type": "array", "items": { "type": "string", "description": "String to use for references to this type from other models in the API." } }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "nullable": true }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "name": { "type": "string", "description": "The name of this role." }, "description": { "type": "string", "description": "A description of this role." }, "managed": { "type": "boolean", "readOnly": true, "description": "Is this role managed by the system (not changeable by the users)." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." } }, "required": [ "name", "permissions" ] }, "GatewayRoleTeamAssignment": { "type": "object", "description": "Custom serializer with Galaxy-specific validation for team role assignments\n\nTeams can only be assigned roles where all permissions are in the 'galaxy' service.\nGateway overrides actor queryset so team visibility is enforced here\nrather than in DAB, since users/teams are owned by the resource provider.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "object_id": { "type": "string", "nullable": true, "description": "The primary key of the object this assignment applies to; null value indicates system-wide assignment." }, "object_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The resource id of the object this role applies to. An alternative to the object_id field." }, "role_definition": { "type": "integer", "description": "The role definition which defines permissions conveyed by this assignment." }, "team": { "type": "integer", "nullable": true }, "team_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The resource ID of the team who will receive permissions from this assignment. An alternative to team field." } }, "required": [ "role_definition" ] }, "HTTPPort": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "number": { "type": "integer", "maximum": 65535, "minimum": 1, "description": "The port number to listen on." }, "use_https": { "type": "boolean", "description": "Secure this port with HTTPS." }, "is_api_port": { "type": "boolean", "description": "If true, this port will be used to serve the AAP service APIs. Only one port can be the API port." } }, "required": [ "name", "number" ] }, "OAuth2Application": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "client_id": { "type": "string", "readOnly": true }, "redirect_uris": { "type": "string", "description": "Allowed URIs list, space separated" }, "post_logout_redirect_uris": { "type": "string", "description": "Allowed Post Logout URIs list, space separated" }, "algorithm": { "enum": [ "", "RS256", "HS256" ], "type": "string", "description": "* `` - No OIDC support\n* `RS256` - RSA with SHA-2 256\n* `HS256` - HMAC with SHA-2 256", "x-spec-enum-id": "efb8c99632a46c3d" }, "user": { "type": "integer", "nullable": true, "description": "The user who created the application." }, "description": { "type": "string", "description": "A description of this application." }, "organization": { "type": "integer", "description": "Organization containing this application." }, "app_url": { "type": "string", "format": "uri", "nullable": true, "title": "Application URL", "description": "The URL of this application.", "maxLength": 200 }, "client_secret": { "type": "string", "readOnly": true, "description": "Hashed on Save. Copy it now if this is a new secret." }, "client_type": { "enum": [ "confidential", "public" ], "type": "string", "x-spec-enum-id": "6de8a18fd0ba1b55", "description": "Set to Public or Confidential depending on how secure the client device is.\n\n* `confidential` - Confidential\n* `public` - Public" }, "skip_authorization": { "type": "boolean", "description": "Set True to skip authorization step for completely trusted applications." }, "authorization_grant_type": { "enum": [ "authorization-code", "password" ], "type": "string", "x-spec-enum-id": "97829bf36e0a77bf", "description": "The Grant type the user must use for acquire tokens for this application.\n\n* `authorization-code` - Authorization code\n* `password` - Resource owner password-based" } }, "required": [ "authorization_grant_type", "client_type", "name", "organization" ] }, "OAuth2Token": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "expires": { "type": "string", "format": "date-time", "readOnly": true }, "user": { "type": "integer", "readOnly": true, "description": "The user representing the token owner." }, "application": { "type": "integer", "nullable": true, "description": "The related application. If None, this is a user token instead of an application token." }, "description": { "type": "string", "description": "A description for this token." }, "last_used": { "type": "string", "format": "date-time", "readOnly": true, "nullable": true, "description": "A timestamp of when this token was last used." }, "scope": { "type": "string", "description": "Allowed scopes, further restricts user permissions. Must be a simple space-separated string with allowed scopes ['read', 'write', 'openid', 'roles'].", "maxLength": 128 }, "token": { "type": "string", "readOnly": true, "description": "The generated token value." }, "refresh_token": { "type": "string", "nullable": true, "readOnly": true } } }, "Organization": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "description": { "type": "string", "description": "The organization description." }, "managed": { "type": "boolean", "readOnly": true, "description": "Indicates if this organization is managed by the system. It cannot be modified once created." } }, "required": [ "name" ] }, "PaginatedAdditionalRouteList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/AdditionalRoute" } } } }, "PaginatedAppUrlList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/AppUrl" } } } }, "PaginatedAuthenticatorList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/Authenticator" } } } }, "PaginatedAuthenticatorMapList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/AuthenticatorMap" } } } }, "PaginatedAuthenticatorUserList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/AuthenticatorUser" } } } }, "PaginatedCACertificateList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/CACertificate" } } } }, "PaginatedDABContentTypeList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/DABContentType" } } } }, "PaginatedDABPermissionList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/DABPermission" } } } }, "PaginatedEntryList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/Entry" } } } }, "PaginatedFeatureFlagList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/FeatureFlag" } } } }, "PaginatedFeatureFlagStatesList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/FeatureFlagStates" } } } }, "PaginatedGatewayRoleDefinitionList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/GatewayRoleDefinition" } } } }, "PaginatedGatewayRoleTeamAssignmentList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/GatewayRoleTeamAssignment" } } } }, "PaginatedHTTPPortList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/HTTPPort" } } } }, "PaginatedOAuth2ApplicationList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/OAuth2Application" } } } }, "PaginatedOAuth2TokenList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/OAuth2Token" } } } }, "PaginatedOrganizationList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/Organization" } } } }, "PaginatedResourceListList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceList" } } } }, "PaginatedResourceTypeList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceType" } } } }, "PaginatedRoleUserAssignmentList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/RoleUserAssignment" } } } }, "PaginatedServiceAPIRouteList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceAPIRoute" } } } }, "PaginatedServiceClusterList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceCluster" } } } }, "PaginatedServiceKeyList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceKey" } } } }, "PaginatedServiceNodeList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceNode" } } } }, "PaginatedServiceRoleTeamAssignmentList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceRoleTeamAssignment" } } } }, "PaginatedServiceRoleUserAssignmentList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceRoleUserAssignment" } } } }, "PaginatedServiceTypeList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceType" } } } }, "PaginatedSettingSectionListList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/SettingSectionList" } } } }, "PaginatedTeamAccessAssignmentList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/TeamAccessAssignment" } } } }, "PaginatedTeamAccessViewSet_Team_List": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/TeamAccessViewSet_Team_" } } } }, "PaginatedTeamList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/Team" } } } }, "PaginatedUIPluginRouteList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/UIPluginRoute" } } } }, "PaginatedUserAccessAssignmentList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/UserAccessAssignment" } } } }, "PaginatedUserAccessViewSet_User_List": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/UserAccessViewSet_User_" } } } }, "PaginatedUserList": { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=4" }, "previous": { "type": "string", "nullable": true, "format": "uri", "example": "http://api.example.org/accounts/?page=2" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/User" } } } }, "PasswordAuthenticator": { "type": "object", "description": "Serializer for password authenticator items in UI auth response.", "properties": { "name": { "type": "string", "readOnly": true } } }, "PatchedAdditionalRoute": { "type": "object", "description": "Base serializer for route models.\n\nProvides common validation logic for routes including:\n- Gateway authentication validation for internal routes\n- Mutual TLS (mTLS) validation with gateway authentication\n- Gateway path normalization (collapsing consecutive slashes)\n- Node tags normalization\n- Timeout floor enforcement (request_timeout_seconds & idle_timeout_seconds)\n\nSubclasses can override validate() and call super().validate()\nto add their own validation logic.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "request_timeout_seconds": { "type": "integer", "maximum": 604800, "minimum": 0, "nullable": true, "description": "The request timeout in seconds for this route. Values below the global proxy request_timeout setting are rejected. Leave null to use the global proxy timeout setting. See effective_timeout_seconds for the computed value applied to the route." }, "idle_timeout_seconds": { "type": "integer", "maximum": 86400, "minimum": 0, "nullable": true, "description": "The idle timeout in seconds for this route. Connections with no data transmitted within this period are closed. Values below the global proxy idle_timeout setting are rejected. Leave null to use the global proxy idle timeout setting. See effective_idle_timeout_seconds for the computed value applied to the route." }, "effective_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective request timeout: max(request_timeout_seconds, global request_timeout setting)." }, "effective_idle_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective idle timeout: max(idle_timeout_seconds, global idle_timeout setting)." }, "http_port": { "type": "integer", "description": "The port on the AAP gateway to listen to traffic on." }, "service_cluster": { "type": "integer", "description": "The AAP Service to route traffic to." }, "service_port": { "type": "integer", "maximum": 65535, "minimum": 1, "description": "The port on the service cluster to route traffic to." }, "is_service_https": { "type": "boolean", "description": "Set this to true if the service cluster requires HTTPS." }, "is_internal_route": { "type": "boolean", "description": "If true, the AAP gateway will only allow other AAP services to access this route. Requires gateway auth to be enabled." }, "service_path": { "type": "string", "description": "The URL path on the AAP Service cluster to route traffic to.", "maxLength": 255 }, "gateway_path": { "type": "string", "description": "The path on the AAP gateway to listen to traffic on.", "maxLength": 255 }, "description": { "type": "string", "nullable": true, "description": "A description of this route.", "maxLength": 255 }, "enable_gateway_auth": { "type": "boolean", "description": "If false, the AAP gateway will not insert a gateway token into the proxied request." }, "node_tags": { "type": "string", "description": "A comma-separated list of nodes in the service cluster to receive traffic from this route. Leave blank to select all nodes.", "maxLength": 255 }, "enable_mtls": { "type": "boolean", "description": "If true, the route requires mutual TLS. Connecting clients have to provide one or more certificates." } } }, "PatchedAuthenticatorMap": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "authenticator": { "type": "integer", "description": "The authenticator this mapping belongs to." }, "map_type": { "enum": [ "allow", "is_superuser", "role", "organization", "team" ], "type": "string", "x-spec-enum-id": "4064e71cef1ae1e7", "description": "What will the map grant the user? System access (allow) a team or organization membership, the superuser flag or a role in the system.\n\n* `allow` - allow\n* `is_superuser` - is_superuser\n* `role` - role\n* `organization` - organization\n* `team` - team" }, "role": { "type": "string", "nullable": true, "description": "The role this map will grant the authenticating user to the targeted object. Will expand {% for_attr_value(user_orgs) %} syntax", "maxLength": 512 }, "organization": { "type": "string", "nullable": true, "description": "An organization name this rule works on. Will expand {% for_attr_value(user_orgs) %} syntax", "maxLength": 512 }, "team": { "type": "string", "nullable": true, "description": "A team name this rule works on. Will expand {% for_attr_value(user_orgs) %} syntax.", "maxLength": 512 }, "revoke": { "type": "boolean", "description": "Revoke the permission if a user does not meet this rule." }, "triggers": { "description": "Required. Trigger conditions dictionary that determines when this map applies. See /trigger_definition/ for structure details. Only one top-level key per request." }, "order": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The order in which this rule should be processed, smaller numbers are of higher precedence. Items with the same order will be executed in random order." } } }, "PatchedAuthenticatorUpdate": { "type": "object", "description": "Specialized serializer for update operations that makes type field read-only.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "enabled": { "type": "boolean", "description": "Should this authenticator be enabled." }, "create_objects": { "type": "boolean", "description": "Allow authenticator to create objects (users, teams, organizations)." }, "remove_users": { "type": "boolean", "description": "When a user authenticates from this source should they be removed from any other groups they were previously added to." }, "configuration": { "description": "The required configuration for this source." }, "type": { "enum": [ "ansible_base.authentication.authenticator_plugins.github_enterprise", "ansible_base.authentication.authenticator_plugins.github_enterprise_team", "ansible_base.authentication.authenticator_plugins.saml", "ansible_base.authentication.authenticator_plugins.tacacs", "ansible_base.authentication.authenticator_plugins.oidc", "ansible_base.authentication.authenticator_plugins.github_enterprise_org", "ansible_base.authentication.authenticator_plugins.radius", "ansible_base.authentication.authenticator_plugins.github", "ansible_base.authentication.authenticator_plugins.local", "ansible_base.authentication.authenticator_plugins.github_org", "ansible_base.authentication.authenticator_plugins.keycloak", "ansible_base.authentication.authenticator_plugins.google_oauth2", "ansible_base.authentication.authenticator_plugins.ldap", "ansible_base.authentication.authenticator_plugins.azuread", "ansible_base.authentication.authenticator_plugins.github_team" ], "type": "string", "x-spec-enum-id": "ac765e9996806d56", "readOnly": true, "description": "The type of authentication service this is.\n\n* `ansible_base.authentication.authenticator_plugins.github_enterprise` - ansible_base.authentication.authenticator_plugins.github_enterprise\n* `ansible_base.authentication.authenticator_plugins.github_enterprise_team` - ansible_base.authentication.authenticator_plugins.github_enterprise_team\n* `ansible_base.authentication.authenticator_plugins.saml` - ansible_base.authentication.authenticator_plugins.saml\n* `ansible_base.authentication.authenticator_plugins.tacacs` - ansible_base.authentication.authenticator_plugins.tacacs\n* `ansible_base.authentication.authenticator_plugins.oidc` - ansible_base.authentication.authenticator_plugins.oidc\n* `ansible_base.authentication.authenticator_plugins.github_enterprise_org` - ansible_base.authentication.authenticator_plugins.github_enterprise_org\n* `ansible_base.authentication.authenticator_plugins.radius` - ansible_base.authentication.authenticator_plugins.radius\n* `ansible_base.authentication.authenticator_plugins.github` - ansible_base.authentication.authenticator_plugins.github\n* `ansible_base.authentication.authenticator_plugins.local` - ansible_base.authentication.authenticator_plugins.local\n* `ansible_base.authentication.authenticator_plugins.github_org` - ansible_base.authentication.authenticator_plugins.github_org\n* `ansible_base.authentication.authenticator_plugins.keycloak` - ansible_base.authentication.authenticator_plugins.keycloak\n* `ansible_base.authentication.authenticator_plugins.google_oauth2` - ansible_base.authentication.authenticator_plugins.google_oauth2\n* `ansible_base.authentication.authenticator_plugins.ldap` - ansible_base.authentication.authenticator_plugins.ldap\n* `ansible_base.authentication.authenticator_plugins.azuread` - ansible_base.authentication.authenticator_plugins.azuread\n* `ansible_base.authentication.authenticator_plugins.github_team` - ansible_base.authentication.authenticator_plugins.github_team" }, "order": { "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "description": "The order in which an authenticator will be tried. This only pertains to username/password authenticators." }, "slug": { "type": "string", "description": "An immutable identifier for the authenticator; used to generate the sso uri for sso authenticator types", "pattern": "^[-a-zA-Z0-9_]+$" }, "auto_migrate_users_to": { "type": "integer", "nullable": true, "description": "Automatically move users from this authenticator to the target authenticator when a matching user logs in via the target authenticator. For this to work, the field used for the user ID on both authenticators needs to have the same value. This should only be used when migrating users between two authentication mechanisms that share the same user database (such as when both IDPs share the same LDAP user directory)." } } }, "PatchedCACertificate": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "pem_data": { "type": "string" }, "sha256": { "type": "string" }, "related_id_reference": { "type": "string", "description": "Reference to an object that is related to this CA.", "maxLength": 64 } } }, "PatchedFeatureFlagPatch": { "type": "object", "properties": { "value": { "type": "string", "description": "The value used to evaluate the conditional specified.", "maxLength": 127 } } }, "PatchedGatewayRoleDefinition": { "type": "object", "description": "Custom serializer with Gateway-specific validation\n\nGenerated by Claude Sonnet 4", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "permissions": { "type": "array", "items": { "type": "string", "description": "String to use for references to this type from other models in the API." } }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "nullable": true }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "name": { "type": "string", "description": "The name of this role." }, "description": { "type": "string", "description": "A description of this role." }, "managed": { "type": "boolean", "readOnly": true, "description": "Is this role managed by the system (not changeable by the users)." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." } } }, "PatchedHTTPPort": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "number": { "type": "integer", "maximum": 65535, "minimum": 1, "description": "The port number to listen on." }, "use_https": { "type": "boolean", "description": "Secure this port with HTTPS." }, "is_api_port": { "type": "boolean", "description": "If true, this port will be used to serve the AAP service APIs. Only one port can be the API port." } } }, "PatchedOAuth2Application": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "client_id": { "type": "string", "readOnly": true }, "redirect_uris": { "type": "string", "description": "Allowed URIs list, space separated" }, "post_logout_redirect_uris": { "type": "string", "description": "Allowed Post Logout URIs list, space separated" }, "algorithm": { "enum": [ "", "RS256", "HS256" ], "type": "string", "description": "* `` - No OIDC support\n* `RS256` - RSA with SHA-2 256\n* `HS256` - HMAC with SHA-2 256", "x-spec-enum-id": "efb8c99632a46c3d" }, "user": { "type": "integer", "nullable": true, "description": "The user who created the application." }, "description": { "type": "string", "description": "A description of this application." }, "organization": { "type": "integer", "description": "Organization containing this application." }, "app_url": { "type": "string", "format": "uri", "nullable": true, "title": "Application URL", "description": "The URL of this application.", "maxLength": 200 }, "client_secret": { "type": "string", "readOnly": true, "description": "Hashed on Save. Copy it now if this is a new secret." }, "client_type": { "enum": [ "confidential", "public" ], "type": "string", "x-spec-enum-id": "6de8a18fd0ba1b55", "description": "Set to Public or Confidential depending on how secure the client device is.\n\n* `confidential` - Confidential\n* `public` - Public" }, "skip_authorization": { "type": "boolean", "description": "Set True to skip authorization step for completely trusted applications." }, "authorization_grant_type": { "enum": [ "authorization-code", "password" ], "type": "string", "x-spec-enum-id": "97829bf36e0a77bf", "description": "The Grant type the user must use for acquire tokens for this application.\n\n* `authorization-code` - Authorization code\n* `password` - Resource owner password-based" } } }, "PatchedOAuth2Token": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "expires": { "type": "string", "format": "date-time", "readOnly": true }, "user": { "type": "integer", "readOnly": true, "description": "The user representing the token owner." }, "application": { "type": "integer", "nullable": true, "description": "The related application. If None, this is a user token instead of an application token." }, "description": { "type": "string", "description": "A description for this token." }, "last_used": { "type": "string", "format": "date-time", "readOnly": true, "nullable": true, "description": "A timestamp of when this token was last used." }, "scope": { "type": "string", "description": "Allowed scopes, further restricts user permissions. Must be a simple space-separated string with allowed scopes ['read', 'write', 'openid', 'roles'].", "maxLength": 128 }, "token": { "type": "string", "readOnly": true, "description": "The generated token value." }, "refresh_token": { "type": "string", "nullable": true, "readOnly": true } } }, "PatchedOrganization": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "description": { "type": "string", "description": "The organization description." }, "managed": { "type": "boolean", "readOnly": true, "description": "Indicates if this organization is managed by the system. It cannot be modified once created." } } }, "PatchedResource": { "type": "object", "properties": { "object_id": { "type": "string", "readOnly": true, "description": "The object id for this resource." }, "name": { "type": "string", "readOnly": true, "nullable": true, "description": "The name of this resource." }, "ansible_id": { "type": "string", "format": "uuid", "description": "A unique ID identifying this resource by the resource server." }, "service_id": { "type": "string", "format": "uuid", "description": "ID of the service responsible for managing this resource." }, "is_partially_migrated": { "type": "boolean", "description": "A flag indicating that the resource has been copied into the resource server, but the service_id hasn't been updated yet." }, "resource_type": { "type": "string" }, "has_serializer": { "type": "boolean", "readOnly": true }, "resource_data": {}, "url": { "type": "string", "readOnly": true }, "additional_data": { "type": "string", "readOnly": true } } }, "PatchedServiceAPIRoute": { "type": "object", "description": "Base serializer for route models.\n\nProvides common validation logic for routes including:\n- Gateway authentication validation for internal routes\n- Mutual TLS (mTLS) validation with gateway authentication\n- Gateway path normalization (collapsing consecutive slashes)\n- Node tags normalization\n- Timeout floor enforcement (request_timeout_seconds & idle_timeout_seconds)\n\nSubclasses can override validate() and call super().validate()\nto add their own validation logic.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "request_timeout_seconds": { "type": "integer", "maximum": 604800, "minimum": 0, "nullable": true, "description": "The request timeout in seconds for this route. Values below the global proxy request_timeout setting are rejected. Leave null to use the global proxy timeout setting. See effective_timeout_seconds for the computed value applied to the route." }, "idle_timeout_seconds": { "type": "integer", "maximum": 86400, "minimum": 0, "nullable": true, "description": "The idle timeout in seconds for this route. Connections with no data transmitted within this period are closed. Values below the global proxy idle_timeout setting are rejected. Leave null to use the global proxy idle timeout setting. See effective_idle_timeout_seconds for the computed value applied to the route." }, "effective_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective request timeout: max(request_timeout_seconds, global request_timeout setting)." }, "effective_idle_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective idle timeout: max(idle_timeout_seconds, global idle_timeout setting)." }, "http_port": { "type": "integer", "description": "The port on the AAP gateway to listen to traffic on." }, "service_cluster": { "type": "integer", "description": "The AAP Service to route traffic to." }, "service_port": { "type": "integer", "maximum": 65535, "minimum": 1, "description": "The port on the service cluster to route traffic to." }, "is_service_https": { "type": "boolean", "description": "Set this to true if the service cluster requires HTTPS." }, "is_internal_route": { "type": "boolean", "description": "If true, the AAP gateway will only allow other AAP services to access this route. Requires gateway auth to be enabled." }, "service_path": { "type": "string", "description": "The URL path on the AAP Service cluster to route traffic to.", "maxLength": 255 }, "gateway_path": { "type": "string", "readOnly": true, "description": "The path on the AAP gateway to listen to traffic on." }, "description": { "type": "string", "nullable": true, "description": "A description of this route.", "maxLength": 255 }, "api_slug": { "type": "string", "description": "An internally generated API slug for this Service API Route.", "maxLength": 20, "pattern": "^[-a-zA-Z0-9_]+$" }, "enable_gateway_auth": { "type": "boolean", "description": "If false, the AAP gateway will not insert a gateway token into the proxied request." }, "order": { "type": "integer", "maximum": 100, "minimum": 0, "description": "The order to apply the routes in; lower numbers are first. Items with the same value have no guaranteed order" }, "node_tags": { "type": "string", "description": "A comma-separated list of nodes in the service cluster to receive traffic from this route. Leave blank to select all nodes.", "maxLength": 255 }, "enable_mtls": { "type": "boolean", "description": "If true, the route requires mutual TLS. Connecting clients have to provide one or more certificates." } } }, "PatchedServiceCluster": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "service_type": { "type": "integer", "description": "The AAP service type of this service cluster." }, "service_id": { "type": "string", "format": "uuid", "readOnly": true, "nullable": true, "description": "The unique service ID provided by the service." }, "auth_type": { "enum": [ "JWT", "BASIC", "TOKEN" ], "type": "string", "x-spec-enum-id": "e24087e68e36b686", "description": "The authorization type for this service.\n\n* `JWT` - JWT\n* `BASIC` - Basic auth\n* `TOKEN` - Bearer token" }, "upstream_hostname": { "type": "string", "description": "Set this value to enable server name identification on associated routes.", "maxLength": 255 }, "dns_discovery_type": { "enum": [ "LOGICAL_DNS", "STRICT_DNS" ], "type": "string", "x-spec-enum-id": "47856b6b6c25790f", "description": "The DNS service discovery type for this service.\n\n* `LOGICAL_DNS` - Logical DNS\n* `STRICT_DNS` - Strict DNS" }, "dns_lookup_family": { "enum": [ "V4_ONLY", "V6_ONLY", "AUTO", "ALL", "V4_PREFERRED" ], "type": "string", "x-spec-enum-id": "65c5f314f2d8baed", "description": "DNS lookup type for this service.\n\n* `V4_ONLY` - IPv4 only\n* `V6_ONLY` - IPv6 only\n* `AUTO` - Auto (IPv6 preferred)\n* `ALL` - All IPv4 and IPv6 addresses\n* `V4_PREFERRED` - IPv4 preferred" }, "outlier_detection_enabled": { "type": "boolean", "description": "If true, outlier detection will be used to determine if a node is unhealthy and should be ejected from the cluster." }, "outlier_detection_consecutive_5xx": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The number of consecutive 5xx responses to consider a node unhealthy." }, "outlier_detection_interval_seconds": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The time interval between ejection analysis sweeps." }, "outlier_detection_base_ejection_time_seconds": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The base time a node will be ejected for." }, "outlier_detection_max_ejection_percent": { "type": "integer", "maximum": 100, "minimum": 0, "description": "The maximum percent of nodes that can be ejected from the cluster." }, "health_checks_enabled": { "type": "boolean", "description": "If true, health checks will be used to determine if a node is healthy." }, "health_check_timeout_seconds": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The time to wait for a health check to complete." }, "health_check_interval_seconds": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The time between health check requests." }, "health_check_unhealthy_threshold": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The number of consecutive failed health checks before a node is considered unhealthy." }, "health_check_healthy_threshold": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The number of consecutive successful health checks before a node is considered healthy." }, "healthy_panic_threshold": { "type": "integer", "maximum": 100, "minimum": 0, "description": "The percentage of failed hosts when the proxy will panic and start routing traffic to all nodes. Set to 0 to disable this." }, "effective_health_check_timeout_seconds": { "type": "string", "readOnly": true, "description": "The effective health check timeout Envoy will use, computed as the maximum of the cluster's health_check_timeout_seconds, the highest route request_timeout_seconds, and the global request_timeout preference." } } }, "PatchedServiceKey": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "nullable": true, "description": "The name of this resource.", "maxLength": 512 }, "service_cluster": { "type": "integer", "description": "The service cluster this key is for" }, "is_active": { "type": "boolean", "description": "Is this service key active." }, "algorithm": { "enum": [ "HS256", "HS384", "HS512" ], "type": "string", "description": "* `HS256` - HMAC with SHA256\n* `HS384` - HMAC with SHA384\n* `HS512` - HMAC with SHA512", "x-spec-enum-id": "3ba520121d72bd56", "default": "HS256" }, "secret_length": { "type": "integer", "maximum": 512, "minimum": 64, "writeOnly": true, "default": 64 }, "mark_previous_inactive": { "type": "boolean", "writeOnly": true }, "secret": { "type": "string", "readOnly": true, "description": "The secret will only be plain text on generation, afterwards it will be encrypted." } } }, "PatchedServiceNode": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "address": { "type": "string", "description": "The network address to route traffic for this service to.", "maxLength": 255 }, "service_cluster": { "type": "integer", "description": "The AAP Service cluster that this node belongs to." }, "tags": { "type": "string", "description": "A comma-separated list of roles to assign to a node; to be selective about which routes point to it.", "maxLength": 255 } } }, "PatchedServiceType": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "login_path": { "type": "string", "nullable": true, "description": "API path to login for service, ex. /v1/auth/session/login/", "maxLength": 255 }, "logout_path": { "type": "string", "nullable": true, "description": "API path to logout for service, ex. /logout/", "maxLength": 255 }, "ping_url": { "type": "string", "nullable": true, "description": "URL to the ping/status page of the service, ex. /pulp/api/v3/status/", "maxLength": 255 }, "service_index_path": { "type": "string", "nullable": true, "description": "API path to resource service index endpoint, ex. /v2/service-index/", "maxLength": 255 } } }, "PatchedTeam": { "type": "object", "description": "Class to be used by apps to check permissions to related objects\n\nThis is a core part of integrating permission checks with REST APIs.\nFull enablement of checks is accomplished by this plus\nthe permission class.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "organization": { "type": "integer", "readOnly": true, "description": "The organization of this team." }, "description": { "type": "string", "description": "The team description." } } }, "PatchedUIPluginRoute": { "type": "object", "description": "Base serializer for route models.\n\nProvides common validation logic for routes including:\n- Gateway authentication validation for internal routes\n- Mutual TLS (mTLS) validation with gateway authentication\n- Gateway path normalization (collapsing consecutive slashes)\n- Node tags normalization\n- Timeout floor enforcement (request_timeout_seconds & idle_timeout_seconds)\n\nSubclasses can override validate() and call super().validate()\nto add their own validation logic.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "request_timeout_seconds": { "type": "integer", "maximum": 604800, "minimum": 0, "nullable": true, "description": "The request timeout in seconds for this route. Values below the global proxy request_timeout setting are rejected. Leave null to use the global proxy timeout setting. See effective_timeout_seconds for the computed value applied to the route." }, "idle_timeout_seconds": { "type": "integer", "maximum": 86400, "minimum": 0, "nullable": true, "description": "The idle timeout in seconds for this route. Connections with no data transmitted within this period are closed. Values below the global proxy idle_timeout setting are rejected. Leave null to use the global proxy idle timeout setting. See effective_idle_timeout_seconds for the computed value applied to the route." }, "effective_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective request timeout: max(request_timeout_seconds, global request_timeout setting)." }, "effective_idle_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective idle timeout: max(idle_timeout_seconds, global idle_timeout setting)." }, "http_port": { "type": "integer", "description": "The port on the AAP gateway to listen to traffic on." }, "service_cluster": { "type": "integer" }, "service_port": { "type": "integer", "maximum": 65535, "minimum": 1, "description": "The port on the service cluster to route traffic to." }, "is_service_https": { "type": "boolean", "description": "Set this to true if the service cluster requires HTTPS." }, "gateway_path": { "type": "string", "readOnly": true, "description": "The path on the AAP gateway to listen to traffic on." }, "description": { "type": "string", "nullable": true, "description": "A description of this route.", "maxLength": 255 }, "ui_plugin_path": { "type": "string", "description": "The relative path to the UI plugin on the service cluster.", "maxLength": 255 }, "order": { "type": "integer", "maximum": 100, "minimum": 0, "description": "The order to apply the routes in; lower numbers are first. Items with the same value have no guaranteed order" }, "node_tags": { "type": "string", "description": "A comma-separated list of nodes in the service cluster to receive traffic from this route. Leave blank to select all nodes.", "maxLength": 255 } } }, "PatchedUser": { "type": "object", "description": "Disallows editing of system user and enforces superuser requirement.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "username": { "type": "string", "description": "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", "pattern": "^[\\w.@+-]+$", "maxLength": 150 }, "email": { "type": "string", "format": "email", "title": "Email address", "maxLength": 254 }, "first_name": { "type": "string", "maxLength": 150 }, "last_name": { "type": "string", "maxLength": 150 }, "last_login": { "type": "string", "format": "date-time", "readOnly": true, "nullable": true }, "last_login_from": { "type": "string", "readOnly": true, "description": "Read-only field indicating the last authenticator used for successful login. Value is null if user has never logged in. This field is automatically updated on successful authentication. Cannot be set via API." }, "password": { "type": "string", "maxLength": 128 }, "is_superuser": { "type": "boolean", "title": "Superuser status", "description": "Designates that this user has all permissions without explicitly assigning them." }, "is_platform_auditor": { "type": "boolean", "readOnly": true }, "authenticators": { "type": "array", "items": { "type": "integer" }, "nullable": true, "writeOnly": true, "description": "DEPRECATED: This field is deprecated and will be removed in a future version. Please use 'associated_authenticators' instead.", "deprecated": true }, "authenticator_uid": { "type": "string", "writeOnly": true, "description": "DEPRECATED: This field is deprecated and will be removed in a future version. Please use 'associated_authenticators' instead.", "deprecated": true }, "associated_authenticators": { "type": "object", "additionalProperties": { "type": "object", "properties": { "uid": { "type": "string" }, "email": { "type": "string" } } }, "writeOnly": true }, "managed": { "type": "boolean", "readOnly": true, "description": "Indicates if this user is managed by the system. It cannot be modified once created." } } }, "Ping": { "type": "object", "properties": { "status": { "enum": [ "good", "degraded", "failed" ], "type": "string", "description": "* `good` - good\n* `degraded` - degraded\n* `failed` - failed", "x-spec-enum-id": "8f053d7a7629b617" }, "version": { "type": "string" }, "pong": { "type": "string", "format": "date-time" }, "db_connected": { "type": "boolean" }, "db_exception": { "type": "string" }, "proxy_connected": { "type": "boolean" }, "proxy_status_code": { "type": "integer" }, "proxy_exception_type": { "type": "string" } } }, "RedisResponse": { "type": "object", "properties": { "status": { "enum": [ "good", "degraded", "failed" ], "type": "string", "description": "* `good` - good\n* `degraded` - degraded\n* `failed` - failed", "x-spec-enum-id": "8f053d7a7629b617" }, "mode": { "enum": [ "cluster", "standalone", "Unknown" ], "type": "string", "description": "* `cluster` - cluster\n* `standalone` - standalone\n* `Unknown` - Unknown", "x-spec-enum-id": "108317a9f228ac79" }, "ping": { "type": "boolean" }, "cluster_info": { "$ref": "#/components/schemas/ClusterInfo" } } }, "Resource": { "type": "object", "properties": { "object_id": { "type": "string", "readOnly": true, "description": "The object id for this resource." }, "name": { "type": "string", "readOnly": true, "nullable": true, "description": "The name of this resource." }, "ansible_id": { "type": "string", "format": "uuid", "description": "A unique ID identifying this resource by the resource server." }, "service_id": { "type": "string", "format": "uuid", "description": "ID of the service responsible for managing this resource." }, "is_partially_migrated": { "type": "boolean", "description": "A flag indicating that the resource has been copied into the resource server, but the service_id hasn't been updated yet." }, "resource_type": { "type": "string" }, "has_serializer": { "type": "boolean", "readOnly": true }, "resource_data": {}, "url": { "type": "string", "readOnly": true }, "additional_data": { "type": "string", "readOnly": true } }, "required": [ "resource_data" ] }, "ResourceList": { "type": "object", "properties": { "object_id": { "type": "string", "readOnly": true, "description": "The object id for this resource." }, "name": { "type": "string", "readOnly": true, "nullable": true, "description": "The name of this resource." }, "ansible_id": { "type": "string", "format": "uuid", "description": "A unique ID identifying this resource by the resource server." }, "service_id": { "type": "string", "format": "uuid", "description": "ID of the service responsible for managing this resource." }, "is_partially_migrated": { "type": "boolean", "description": "A flag indicating that the resource has been copied into the resource server, but the service_id hasn't been updated yet." }, "resource_type": { "type": "string" }, "has_serializer": { "type": "boolean", "readOnly": true }, "resource_data": { "writeOnly": true, "default": {} }, "url": { "type": "string", "readOnly": true } } }, "ResourceType": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "readOnly": true, "description": "The name of this resource type." }, "externally_managed": { "type": "boolean", "description": "Is this resource type managed externally from this service." }, "shared_resource_type": { "type": "string", "nullable": true, "readOnly": true }, "url": { "type": "string", "readOnly": true } }, "required": [ "externally_managed" ] }, "RoleDefinitionDetail": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "permissions": { "type": "array", "items": { "type": "string", "description": "String to use for references to this type from other models in the API." } }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "name": { "type": "string", "description": "The name of this role." }, "description": { "type": "string", "description": "A description of this role." }, "managed": { "type": "boolean", "readOnly": true, "description": "Is this role managed by the system (not changeable by the users)." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." } }, "required": [ "name", "permissions" ] }, "RoleMetadata": { "type": "object", "properties": { "allowed_permissions": { "type": "object", "additionalProperties": {}, "description": "A List of permissions allowed for a role definition, given its content type." } }, "required": [ "allowed_permissions" ] }, "RoleUserAssignment": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "object_id": { "type": "string", "nullable": true, "description": "The primary key of the object this assignment applies to; null value indicates system-wide assignment." }, "object_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The resource id of the object this role applies to. An alternative to the object_id field." }, "role_definition": { "type": "integer", "description": "The role definition which defines permissions conveyed by this assignment." }, "user": { "type": "integer", "nullable": true }, "user_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The resource ID of the user who will receive permissions from this assignment. An alternative to user field." } }, "required": [ "role_definition" ] }, "SSOAuthenticator": { "type": "object", "description": "Serializer for SSO authenticator items in UI auth response.", "properties": { "name": { "type": "string", "readOnly": true }, "login_url": { "type": "string", "format": "uri", "readOnly": true }, "type": { "type": "string", "readOnly": true } } }, "ServiceAPIRoute": { "type": "object", "description": "Base serializer for route models.\n\nProvides common validation logic for routes including:\n- Gateway authentication validation for internal routes\n- Mutual TLS (mTLS) validation with gateway authentication\n- Gateway path normalization (collapsing consecutive slashes)\n- Node tags normalization\n- Timeout floor enforcement (request_timeout_seconds & idle_timeout_seconds)\n\nSubclasses can override validate() and call super().validate()\nto add their own validation logic.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "request_timeout_seconds": { "type": "integer", "maximum": 604800, "minimum": 0, "nullable": true, "description": "The request timeout in seconds for this route. Values below the global proxy request_timeout setting are rejected. Leave null to use the global proxy timeout setting. See effective_timeout_seconds for the computed value applied to the route." }, "idle_timeout_seconds": { "type": "integer", "maximum": 86400, "minimum": 0, "nullable": true, "description": "The idle timeout in seconds for this route. Connections with no data transmitted within this period are closed. Values below the global proxy idle_timeout setting are rejected. Leave null to use the global proxy idle timeout setting. See effective_idle_timeout_seconds for the computed value applied to the route." }, "effective_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective request timeout: max(request_timeout_seconds, global request_timeout setting)." }, "effective_idle_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective idle timeout: max(idle_timeout_seconds, global idle_timeout setting)." }, "http_port": { "type": "integer", "description": "The port on the AAP gateway to listen to traffic on." }, "service_cluster": { "type": "integer", "description": "The AAP Service to route traffic to." }, "service_port": { "type": "integer", "maximum": 65535, "minimum": 1, "description": "The port on the service cluster to route traffic to." }, "is_service_https": { "type": "boolean", "description": "Set this to true if the service cluster requires HTTPS." }, "is_internal_route": { "type": "boolean", "description": "If true, the AAP gateway will only allow other AAP services to access this route. Requires gateway auth to be enabled." }, "service_path": { "type": "string", "description": "The URL path on the AAP Service cluster to route traffic to.", "maxLength": 255 }, "gateway_path": { "type": "string", "readOnly": true, "description": "The path on the AAP gateway to listen to traffic on." }, "description": { "type": "string", "nullable": true, "description": "A description of this route.", "maxLength": 255 }, "api_slug": { "type": "string", "description": "An internally generated API slug for this Service API Route.", "maxLength": 20, "pattern": "^[-a-zA-Z0-9_]+$" }, "enable_gateway_auth": { "type": "boolean", "description": "If false, the AAP gateway will not insert a gateway token into the proxied request." }, "order": { "type": "integer", "maximum": 100, "minimum": 0, "description": "The order to apply the routes in; lower numbers are first. Items with the same value have no guaranteed order" }, "node_tags": { "type": "string", "description": "A comma-separated list of nodes in the service cluster to receive traffic from this route. Leave blank to select all nodes.", "maxLength": 255 }, "enable_mtls": { "type": "boolean", "description": "If true, the route requires mutual TLS. Connecting clients have to provide one or more certificates." } }, "required": [ "api_slug", "http_port", "is_service_https", "name", "service_cluster", "service_path", "service_port" ] }, "ServiceCluster": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "service_type": { "type": "integer", "description": "The AAP service type of this service cluster." }, "service_id": { "type": "string", "format": "uuid", "readOnly": true, "nullable": true, "description": "The unique service ID provided by the service." }, "auth_type": { "enum": [ "JWT", "BASIC", "TOKEN" ], "type": "string", "x-spec-enum-id": "e24087e68e36b686", "description": "The authorization type for this service.\n\n* `JWT` - JWT\n* `BASIC` - Basic auth\n* `TOKEN` - Bearer token" }, "upstream_hostname": { "type": "string", "description": "Set this value to enable server name identification on associated routes.", "maxLength": 255 }, "dns_discovery_type": { "enum": [ "LOGICAL_DNS", "STRICT_DNS" ], "type": "string", "x-spec-enum-id": "47856b6b6c25790f", "description": "The DNS service discovery type for this service.\n\n* `LOGICAL_DNS` - Logical DNS\n* `STRICT_DNS` - Strict DNS" }, "dns_lookup_family": { "enum": [ "V4_ONLY", "V6_ONLY", "AUTO", "ALL", "V4_PREFERRED" ], "type": "string", "x-spec-enum-id": "65c5f314f2d8baed", "description": "DNS lookup type for this service.\n\n* `V4_ONLY` - IPv4 only\n* `V6_ONLY` - IPv6 only\n* `AUTO` - Auto (IPv6 preferred)\n* `ALL` - All IPv4 and IPv6 addresses\n* `V4_PREFERRED` - IPv4 preferred" }, "outlier_detection_enabled": { "type": "boolean", "description": "If true, outlier detection will be used to determine if a node is unhealthy and should be ejected from the cluster." }, "outlier_detection_consecutive_5xx": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The number of consecutive 5xx responses to consider a node unhealthy." }, "outlier_detection_interval_seconds": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The time interval between ejection analysis sweeps." }, "outlier_detection_base_ejection_time_seconds": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The base time a node will be ejected for." }, "outlier_detection_max_ejection_percent": { "type": "integer", "maximum": 100, "minimum": 0, "description": "The maximum percent of nodes that can be ejected from the cluster." }, "health_checks_enabled": { "type": "boolean", "description": "If true, health checks will be used to determine if a node is healthy." }, "health_check_timeout_seconds": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The time to wait for a health check to complete." }, "health_check_interval_seconds": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The time between health check requests." }, "health_check_unhealthy_threshold": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The number of consecutive failed health checks before a node is considered unhealthy." }, "health_check_healthy_threshold": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The number of consecutive successful health checks before a node is considered healthy." }, "healthy_panic_threshold": { "type": "integer", "maximum": 100, "minimum": 0, "description": "The percentage of failed hosts when the proxy will panic and start routing traffic to all nodes. Set to 0 to disable this." }, "effective_health_check_timeout_seconds": { "type": "string", "readOnly": true, "description": "The effective health check timeout Envoy will use, computed as the maximum of the cluster's health_check_timeout_seconds, the highest route request_timeout_seconds, and the global request_timeout preference." } }, "required": [ "name", "service_type" ] }, "ServiceKey": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "nullable": true, "description": "The name of this resource.", "maxLength": 512 }, "service_cluster": { "type": "integer", "description": "The service cluster this key is for" }, "is_active": { "type": "boolean", "description": "Is this service key active." }, "algorithm": { "enum": [ "HS256", "HS384", "HS512" ], "type": "string", "description": "* `HS256` - HMAC with SHA256\n* `HS384` - HMAC with SHA384\n* `HS512` - HMAC with SHA512", "x-spec-enum-id": "3ba520121d72bd56", "default": "HS256" }, "secret_length": { "type": "integer", "maximum": 512, "minimum": 64, "writeOnly": true, "default": 64 }, "mark_previous_inactive": { "type": "boolean", "writeOnly": true }, "secret": { "type": "string", "readOnly": true, "description": "The secret will only be plain text on generation, afterwards it will be encrypted." } }, "required": [ "mark_previous_inactive", "service_cluster" ] }, "ServiceKeysStatus": { "type": "object", "properties": { "status": { "enum": [ "good", "degraded", "failed" ], "type": "string", "description": "* `good` - good\n* `degraded` - degraded\n* `failed` - failed", "x-spec-enum-id": "8f053d7a7629b617" }, "time": { "type": "string", "format": "date-time" }, "services": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/StatusService" } } }, "required": [ "services", "time" ] }, "ServiceNode": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "address": { "type": "string", "description": "The network address to route traffic for this service to.", "maxLength": 255 }, "service_cluster": { "type": "integer", "description": "The AAP Service cluster that this node belongs to." }, "tags": { "type": "string", "description": "A comma-separated list of roles to assign to a node; to be selective about which routes point to it.", "maxLength": 255 } }, "required": [ "address", "name", "service_cluster" ] }, "ServiceRoleTeamAssignment": { "type": "object", "properties": { "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by_ansible_id": { "type": "string", "format": "uuid", "nullable": true }, "object_id": { "type": "string", "nullable": true }, "object_ansible_id": { "type": "string", "nullable": true }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "role_definition": { "type": "string", "description": "The name of this role." }, "team_ansible_id": { "type": "string", "format": "uuid" } }, "required": [ "role_definition", "team_ansible_id" ] }, "ServiceRoleUserAssignment": { "type": "object", "properties": { "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by_ansible_id": { "type": "string", "format": "uuid", "nullable": true }, "object_id": { "type": "string", "nullable": true }, "object_ansible_id": { "type": "string", "nullable": true }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "role_definition": { "type": "string", "description": "The name of this role." }, "user_ansible_id": { "type": "string", "format": "uuid" } }, "required": [ "role_definition", "user_ansible_id" ] }, "ServiceType": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "login_path": { "type": "string", "nullable": true, "description": "API path to login for service, ex. /v1/auth/session/login/", "maxLength": 255 }, "logout_path": { "type": "string", "nullable": true, "description": "API path to logout for service, ex. /logout/", "maxLength": 255 }, "ping_url": { "type": "string", "nullable": true, "description": "URL to the ping/status page of the service, ex. /pulp/api/v3/status/", "maxLength": 255 }, "service_index_path": { "type": "string", "nullable": true, "description": "API path to resource service index endpoint, ex. /v2/service-index/", "maxLength": 255 } }, "required": [ "name" ] }, "ServiceTypeAssociate": { "type": "object", "description": "Serializer used for adding objects to a many-to-many relationship", "properties": { "instances": { "type": "array", "items": { "type": "integer" }, "description": "A list of service types to add to this relationship." } }, "required": [ "instances" ] }, "ServiceTypeDisassociate": { "type": "object", "description": "Serializer used for removing objects that are currently associated via a many-to-many relationship", "properties": { "instances": { "type": "array", "items": { "type": "integer" }, "description": "A list of service types to remove from this relationship." } }, "required": [ "instances" ] }, "SettingPreference": { "type": "object", "properties": { "section": { "type": "string", "nullable": true, "title": "Section Name", "maxLength": 150 }, "name": { "type": "string", "maxLength": 150 }, "value": { "description": "Given the *incoming* primitive data, return the value for this field\nthat should be validated and transformed to a native value.", "readOnly": true } }, "required": [ "name" ] }, "SettingSection": { "type": "object", "properties": { "gateway_token_name": { "type": "string", "default": "X-DAB-JW-TOKEN", "description": "The header name to push from the proxy to the backend service. WARNING: if this is changed, backends must be updated to compensate!" }, "gateway_access_token_expiration": { "type": "integer", "default": 600, "description": "How long the access tokens are valid for." }, "jwt_expiration_buffer_in_seconds": { "type": "integer", "default": 15, "description": "Time, in seconds, prior to token expiration time when the token will be removed from cache. Smaller numbers will increase how long the tokens are kept in cache however it can increase the chance the token would expire while being used." }, "gateway_basic_auth_enabled": { "type": "boolean", "default": true, "description": "Enable basic auth to the gateway API." }, "gateway_proxy_url": { "type": "string", "format": "uri", "default": "https://localhost:9080", "description": "The URL to the gateway proxy layer." }, "gateway_proxy_url_ignore_cert": { "type": "boolean", "default": false, "title": "Gateway Proxy URL Ignore Certificate", "description": "Ignore certificate to the gateway proxy layer." }, "jwt_private_key": { "type": "string", "default": "", "description": "The JWT private key." }, "jwt_public_key": { "type": "string", "readOnly": true, "default": "", "description": "The JWT public key (read-only)." }, "status_endpoint_backend_timeout_seconds": { "type": "integer", "default": 5, "title": "Status Endpoint Backend Timeout in Seconds", "description": "The timeout (in seconds) for the status endpoint to wait when trying to connect to a backend." }, "status_endpoint_backend_verify": { "type": "boolean", "default": true, "description": "Should SSL certificates of the services be verified when calling individual nodes for statuses." }, "resource_client_request_timeout": { "type": "number", "format": "double", "minimum": 0.0, "default": 10.0, "description": "The timeout (in seconds) before the resource client will drop requests after forming connections." }, "request_timeout": { "type": "integer", "default": 30, "description": "The timeout (in seconds) before the proxy will report a timeout and generate a 504." }, "idle_timeout": { "type": "integer", "default": 15, "description": "The idle timeout in seconds for proxied connections. Connections with no data transmitted within this period are closed. Individual routes may extend this value but cannot reduce it." }, "trusted_header_timeout": { "type": "integer", "maximum": 10000, "minimum": 100, "default": 1000, "description": "The validity period (in milliseconds) for the trusted header." }, "password_min_length": { "type": "integer", "maximum": 100, "minimum": 0, "default": 0, "title": "Minimum number of characters in local password", "description": "How long does a local password have to be." }, "password_min_digits": { "type": "integer", "maximum": 100, "minimum": 0, "default": 0, "title": "Minimum number of numerical digits in local password", "description": "How many numerical characters need to be in a local password." }, "password_min_upper": { "type": "integer", "maximum": 100, "minimum": 0, "default": 0, "title": "Minimum number of uppercase characters in local password", "description": "How many upper case characters need to be in a local password." }, "password_min_special": { "type": "integer", "maximum": 100, "minimum": 0, "default": 0, "title": "Minimum number of special characters in local password", "description": "How many special characters need to be in a local password." }, "allow_admins_to_set_insecure": { "type": "boolean", "default": false, "title": "Allow Platform Admins to Set Insecure User Passwords", "description": "Can a superuser account save an insecure password." }, "LOGIN_REDIRECT_OVERRIDE": { "type": "string", "format": "uri", "default": "", "title": "Login redirect override URL", "description": "The URL or absolute path to which unauthorized users will be redirected to log in. If blank, users will be sent to the login page." }, "custom_login_info": { "type": "string", "default": "", "title": "Custom Login Information", "description": "Provide specific information (such as a legal notice or a disclaimer) to a text box in the login modal." }, "custom_logo": { "type": "string", "default": "", "description": "Provide an image file for setting up a custom logo (must be a data URL with a base64-encoded GIF, PNG or JPEG image)." }, "SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL": { "type": "boolean", "default": false, "title": "Use Email address for usernames", "description": "Enabling this setting will tell social auth to use the full email as username instead of the full name." }, "SESSION_COOKIE_AGE": { "type": "integer", "maximum": 30000000000, "minimum": 60, "format": "int64", "default": 900, "description": "The time in seconds before a session expires." }, "DEFAULT_PAGE_SIZE": { "type": "integer", "default": 50, "description": "The default number of items to show on a list page." }, "MAX_PAGE_SIZE": { "type": "integer", "default": 200, "title": "Maximum Page Size", "description": "The maximum number of items allowed on a list page." }, "CSRF_TRUSTED_ORIGINS": { "type": "array", "items": { "type": "string" }, "default": [], "title": "CSRF Trusted Origins List", "description": "List of CSRF trusted origin URLs. Note, if there are values in Djangos CSRF_TRUSTED_ORIGIN, they will always appear in this list." }, "AAP_DEPLOYMENT_TYPE": { "type": "string", "readOnly": true, "default": "self-managed", "description": "The deployment type for this AAP instance." }, "MANAGE_ORGANIZATION_AUTH": { "type": "boolean", "default": true, "title": "Organization Admins Can Manage Users and Teams", "description": "Controls whether any Organization Admin has the privileges to create and manage users and teams. You may want to disable this ability if you are using an LDAP or SAML integration." }, "ORG_ADMINS_CAN_SEE_ALL_USERS": { "type": "boolean", "default": true, "title": "All Teams and Users Visible to Organization Admins", "description": "Controls whether any Organization Admin can view all users and teams, even those not associated with their Organization. When enabled, organization admins can view all users and teams, even users and teams not associated with their organizations. When disabled, organization admins can only see users and teams from their own organizations." }, "ALLOW_OAUTH2_FOR_EXTERNAL_USERS": { "type": "boolean", "default": false, "title": "Allow External Users to Create OAuth2 Tokens", "description": "Enabling this feature allows users who log in via an external provider (e.g., LDAP, SAML) to create OAuth 2.0 tokens for use with the gateway API. A token’s lifecycle is managed independently from the external authentication session. " }, "INSIGHTS_TRACKING_STATE": { "type": "boolean", "default": true, "title": "Gather Insights data for Automation Analytics", "description": "Enables the service to gather data on automation and send it to Automation Analytics." }, "RED_HAT_CONSOLE_URL": { "type": "string", "format": "uri", "default": "https://console.redhat.com", "title": "Automation Analytics upload URL", "description": "This setting is used to to configure the upload URL for data collection for Automation Analytics." }, "REDHAT_USERNAME": { "type": "string", "default": "", "title": "Red Hat Hybrid Cloud Console Username", "description": "This username is used to send data to Automation Analytics/" }, "REDHAT_PASSWORD": { "type": "string", "default": "", "title": "Red Hat Hybrid Cloud Console Password", "description": "This password is used to send data to Automation Analytics.'" }, "SUBSCRIPTIONS_USERNAME": { "type": "string", "default": "", "description": "This username is used to retrieve subscription and content information." }, "SUBSCRIPTIONS_PASSWORD": { "type": "string", "default": "", "description": "This password is used to retrieve subscription and content information.'" }, "AUTOMATION_ANALYTICS_GATHER_INTERVAL": { "type": "integer", "maximum": 30000000000, "minimum": 1800, "format": "int64", "default": 14400, "description": "The maximum number of items allowed on a list page" }, "NOTIFICATION_RSS_FEED_URL": { "type": "string", "readOnly": true, "default": "https://announcements.ansiblecloud.redhat.com/feed.atom", "description": "URL for RSS feeds from which to load user notifications" }, "NOTIFICATION_RSS_FEED_ENABLED": { "type": "boolean", "default": true, "description": "Enable or disable user notifications" }, "RUNTIME_FEATURE_FLAGS": { "type": "boolean", "readOnly": true, "default": false, "title": "Runtime Feature Flag Toggling", "description": "Controls whether toggling of runtime flags is allowed. This is currently set through settings. If you'd like to change this please update the RUNTIME_FEATURE_FLAGS setting in your configuration." }, "RUNTIME_FEATURE_FLAGS_UI": { "type": "boolean", "readOnly": true, "default": false, "title": "Feature Flags UI Page", "description": "Controls whether the feature flags UI page is displayed. This is currently set through settings. If you'd like to change this please update the RUNTIME_FEATURE_FLAGS_UI setting in your configuration." } } }, "SettingSectionList": { "type": "object", "description": "Serialize list of settings category", "properties": { "url": { "type": "string", "readOnly": true }, "name": { "type": "string", "readOnly": true } } }, "Status": { "type": "object", "properties": { "status": { "enum": [ "good", "degraded", "failed" ], "type": "string", "description": "* `good` - good\n* `degraded` - degraded\n* `failed` - failed", "x-spec-enum-id": "8f053d7a7629b617" }, "time": { "type": "string", "format": "date-time" }, "services": { "type": "array", "items": { "$ref": "#/components/schemas/StatusService" } } }, "required": [ "services", "time" ] }, "StatusNode": { "type": "object", "properties": { "status": { "enum": [ "good", "degraded", "failed" ], "type": "string", "description": "* `good` - good\n* `degraded` - degraded\n* `failed` - failed", "x-spec-enum-id": "8f053d7a7629b617" }, "url": { "type": "string" }, "exception": { "type": "string" }, "response": { "$ref": "#/components/schemas/Ping" }, "response_code": { "type": "integer" }, "node_id": { "type": "string" }, "hostname": { "type": "string" }, "flags": { "type": "string" }, "master_id": { "type": "string" }, "last_ping_sent": { "type": "string" }, "last_pong_rcvd": { "type": "string" }, "epoch": { "type": "string" }, "slots": { "type": "array", "items": { "type": "array", "items": { "type": "string" } } }, "migrations": { "type": "array", "items": { "type": "string" } }, "connected": { "type": "boolean" }, "body": { "type": "string" } } }, "StatusResponseOptions": { "oneOf": [ { "$ref": "#/components/schemas/Status" }, { "$ref": "#/components/schemas/ServiceKeysStatus" } ] }, "StatusService": { "type": "object", "properties": { "status": { "enum": [ "good", "degraded", "failed" ], "type": "string", "description": "* `good` - good\n* `degraded` - degraded\n* `failed` - failed", "x-spec-enum-id": "8f053d7a7629b617" }, "service_name": { "type": "string" }, "nodes": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/StatusNode" } }, "response": { "$ref": "#/components/schemas/RedisResponse" } }, "required": [ "nodes" ] }, "Team": { "type": "object", "description": "Class to be used by apps to check permissions to related objects\n\nThis is a core part of integrating permission checks with REST APIs.\nFull enablement of checks is accomplished by this plus\nthe permission class.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "organization": { "type": "integer", "description": "The organization of this team." }, "description": { "type": "string", "description": "The team description." } }, "required": [ "name", "organization" ] }, "TeamAccessAssignment": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "object_id": { "type": "string", "nullable": true, "description": "The primary key of the object this assignment applies to; null value indicates system-wide assignment." }, "object_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The resource id of the object this role applies to. An alternative to the object_id field." }, "role_definition": { "type": "integer", "description": "The role definition which defines permissions conveyed by this assignment." }, "team": { "type": "integer", "nullable": true }, "team_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The resource ID of the team who will receive permissions from this assignment. An alternative to team field." } }, "required": [ "role_definition" ] }, "TeamAccessViewSet_Team_": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "organization": { "type": "integer", "description": "The organization of this team." }, "object_role_assignments": { "type": "string", "readOnly": true } }, "required": [ "name", "organization" ] }, "UIAuthResponse": { "type": "object", "description": "Serializer for UI authentication configuration response.", "properties": { "passwords": { "type": "array", "items": { "$ref": "#/components/schemas/PasswordAuthenticator" }, "readOnly": true }, "ssos": { "type": "array", "items": { "$ref": "#/components/schemas/SSOAuthenticator" }, "readOnly": true }, "show_login_form": { "type": "boolean", "readOnly": true }, "login_redirect_override": { "type": "string", "readOnly": true }, "custom_login_info": { "type": "string", "readOnly": true }, "custom_logo": { "type": "string", "readOnly": true }, "managed_cloud_install": { "type": "boolean", "readOnly": true } } }, "UIPluginRoute": { "type": "object", "description": "Base serializer for route models.\n\nProvides common validation logic for routes including:\n- Gateway authentication validation for internal routes\n- Mutual TLS (mTLS) validation with gateway authentication\n- Gateway path normalization (collapsing consecutive slashes)\n- Node tags normalization\n- Timeout floor enforcement (request_timeout_seconds & idle_timeout_seconds)\n\nSubclasses can override validate() and call super().validate()\nto add their own validation logic.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "name": { "type": "string", "description": "The name of this resource.", "maxLength": 512 }, "request_timeout_seconds": { "type": "integer", "maximum": 604800, "minimum": 0, "nullable": true, "description": "The request timeout in seconds for this route. Values below the global proxy request_timeout setting are rejected. Leave null to use the global proxy timeout setting. See effective_timeout_seconds for the computed value applied to the route." }, "idle_timeout_seconds": { "type": "integer", "maximum": 86400, "minimum": 0, "nullable": true, "description": "The idle timeout in seconds for this route. Connections with no data transmitted within this period are closed. Values below the global proxy idle_timeout setting are rejected. Leave null to use the global proxy idle timeout setting. See effective_idle_timeout_seconds for the computed value applied to the route." }, "effective_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective request timeout: max(request_timeout_seconds, global request_timeout setting)." }, "effective_idle_timeout_seconds": { "type": "string", "readOnly": true, "description": "Read-only. The effective idle timeout: max(idle_timeout_seconds, global idle_timeout setting)." }, "http_port": { "type": "integer", "description": "The port on the AAP gateway to listen to traffic on." }, "service_cluster": { "type": "integer" }, "service_port": { "type": "integer", "maximum": 65535, "minimum": 1, "description": "The port on the service cluster to route traffic to." }, "is_service_https": { "type": "boolean", "description": "Set this to true if the service cluster requires HTTPS." }, "gateway_path": { "type": "string", "readOnly": true, "description": "The path on the AAP gateway to listen to traffic on." }, "description": { "type": "string", "nullable": true, "description": "A description of this route.", "maxLength": 255 }, "ui_plugin_path": { "type": "string", "description": "The relative path to the UI plugin on the service cluster.", "maxLength": 255 }, "order": { "type": "integer", "maximum": 100, "minimum": 0, "description": "The order to apply the routes in; lower numbers are first. Items with the same value have no guaranteed order" }, "node_tags": { "type": "string", "description": "A comma-separated list of nodes in the service cluster to receive traffic from this route. Leave blank to select all nodes.", "maxLength": 255 } }, "required": [ "http_port", "is_service_https", "name", "service_cluster", "service_port", "ui_plugin_path" ] }, "User": { "type": "object", "description": "Disallows editing of system user and enforces superuser requirement.", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "modified": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "modified_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who last modified this resource." }, "username": { "type": "string", "description": "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", "pattern": "^[\\w.@+-]+$", "maxLength": 150 }, "email": { "type": "string", "format": "email", "title": "Email address", "maxLength": 254 }, "first_name": { "type": "string", "maxLength": 150 }, "last_name": { "type": "string", "maxLength": 150 }, "last_login": { "type": "string", "format": "date-time", "readOnly": true, "nullable": true }, "last_login_from": { "type": "string", "readOnly": true, "description": "Read-only field indicating the last authenticator used for successful login. Value is null if user has never logged in. This field is automatically updated on successful authentication. Cannot be set via API." }, "password": { "type": "string", "maxLength": 128 }, "is_superuser": { "type": "boolean", "title": "Superuser status", "description": "Designates that this user has all permissions without explicitly assigning them." }, "is_platform_auditor": { "type": "boolean", "readOnly": true }, "authenticators": { "type": "array", "items": { "type": "integer" }, "nullable": true, "writeOnly": true, "description": "DEPRECATED: This field is deprecated and will be removed in a future version. Please use 'associated_authenticators' instead.", "deprecated": true }, "authenticator_uid": { "type": "string", "writeOnly": true, "description": "DEPRECATED: This field is deprecated and will be removed in a future version. Please use 'associated_authenticators' instead.", "deprecated": true }, "associated_authenticators": { "type": "object", "additionalProperties": { "type": "object", "properties": { "uid": { "type": "string" }, "email": { "type": "string" } } }, "writeOnly": true }, "managed": { "type": "boolean", "readOnly": true, "description": "Indicates if this user is managed by the system. It cannot be modified once created." } }, "required": [ "username" ] }, "UserAccessAssignment": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "summary_fields": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": {} }, "readOnly": true }, "created": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date/time this resource was created." }, "created_by": { "type": "integer", "readOnly": true, "nullable": true, "description": "The user who created this resource." }, "content_type": { "type": "string", "description": "String to use for references to this type from other models in the API.", "readOnly": true }, "object_id": { "type": "string", "nullable": true, "description": "The primary key of the object this assignment applies to; null value indicates system-wide assignment." }, "object_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The resource id of the object this role applies to. An alternative to the object_id field." }, "role_definition": { "type": "integer", "description": "The role definition which defines permissions conveyed by this assignment." }, "user": { "type": "integer", "nullable": true }, "user_ansible_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The resource ID of the user who will receive permissions from this assignment. An alternative to user field." }, "intermediary_roles": { "type": "string", "readOnly": true } }, "required": [ "role_definition" ] }, "UserAccessViewSet_User_": { "type": "object", "description": "controller uses auth.User model so this needs to be as compatible as possible, thus ModelSerializer", "properties": { "id": { "type": "integer", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "related": { "type": "object", "additionalProperties": { "type": "string" }, "readOnly": true }, "username": { "type": "string", "description": "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", "pattern": "^[\\w.@+-]+$", "maxLength": 150 }, "is_superuser": { "type": "boolean", "title": "Superuser status", "description": "Designates that this user has all permissions without explicitly assigning them." }, "first_name": { "type": "string", "maxLength": 150 }, "last_name": { "type": "string", "maxLength": 150 }, "object_role_assignments": { "type": "string", "readOnly": true } }, "required": [ "username" ] }, "UserAssociate": { "type": "object", "description": "Serializer used for adding objects to a many-to-many relationship", "properties": { "instances": { "type": "array", "items": { "type": "integer" }, "description": "A list of users to add to this relationship." } }, "required": [ "instances" ] }, "UserDisassociate": { "type": "object", "description": "Serializer used for removing objects that are currently associated via a many-to-many relationship", "properties": { "instances": { "type": "array", "items": { "type": "integer" }, "description": "A list of users to remove from this relationship." } }, "required": [ "instances" ] }, "api_gateway_root_view": { "type": "object", "properties": { "current_version": { "type": "string" }, "available_versions": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "available_versions", "current_version" ] }, "api_root_view": { "type": "object", "properties": { "description": { "type": "string" }, "apis": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "apis", "description" ] }, "session_view": { "type": "object", "properties": { "now": { "type": "string", "format": "date-time" }, "expires_on": { "type": "string", "format": "date-time" }, "expires_in_seconds": { "type": "integer" } }, "required": [ "expires_in_seconds", "expires_on", "now" ] }, "session_view_404": { "type": "object", "properties": { "detail": { "type": "string" } }, "required": [ "detail" ] }, "session_view_post": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] } }, "securitySchemes": { "Basic_Authentication": { "type": "http", "scheme": "basic" }, "OAuth2_Authentication": { "type": "oauth2", "flows": { "authorizationCode": { "authorizationUrl": "/o/authorize/", "tokenUrl": "/o/token/", "scopes": { "read": "Read access to resources", "write": "Write access to resources (includes read)" } }, "password": { "tokenUrl": "/o/token/", "scopes": { "read": "Read access to resources", "write": "Write access to resources (includes read)" } } } }, "SessionAuthentication": { "type": "apiKey", "in": "cookie", "name": "gateway_sessionid" } } } }