openapi: 3.2.0 info: title: Mist Sites Marvis Configs API description: '> Version: **2607.1.1** > > Date: **August 17, 2026** NOTE: Some important API changes will be introduced.' contact: name: Thomas Munzer email: tmunzer@juniper.net version: 2607.1.1 servers: - url: https://api.mist.com variables: {} - url: https://api.gc1.mist.com variables: {} - url: https://api.ac2.mist.com variables: {} - url: https://api.gc2.mist.com variables: {} - url: https://api.gc4.mist.com variables: {} - url: https://api.eu.mist.com variables: {} - url: https://api.gc3.mist.com variables: {} - url: https://api.ac6.mist.com variables: {} - url: https://api.gc6.mist.com variables: {} - url: https://api.ac5.mist.com variables: {} - url: https://api.gc5.mist.com variables: {} - url: https://api.gc7.mist.com variables: {} security: - apiToken: [] - csrfToken: [] tags: - name: Sites Marvis Configs description: Marvis Config Actions are config changes injected by Marvis into network devices. These actions can be searched, counted, deleted, and given feedback. paths: /api/v1/sites/{site_id}/marvis_configs/count: parameters: [] get: tags: - Sites Marvis Configs summary: countSiteMarvisConfigActions description: Count Marvis Config Actions for a site by a distinct field. operationId: countSiteMarvisConfigActions parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: distinct in: query description: 'Field to count by. enum: `mac`, `type`, `src`, `admin_id`, `op`, `port_id`, `reason`, `vlan_ids`' style: form explode: true schema: type: string default: mac - name: mac in: query description: Filter by device MAC address style: form explode: true schema: type: string - name: type in: query description: Filter by config type (e.g. wired) style: form explode: true schema: type: string - name: src in: query description: Filter by source of the config action (e.g. marvis) style: form explode: true schema: type: string - name: admin_id in: query description: Filter by admin ID style: form explode: true schema: type: string - name: op in: query description: Filter by operation type (e.g. disable_port, enable_port, update_mtu, add_vlans_to_port) style: form explode: true schema: type: string - name: port_id in: query description: Filter by port identifier (e.g. ge-0/0/13) style: form explode: true schema: type: string - name: vlan_ids in: query description: Filter by VLAN ID style: form explode: true schema: type: integer contentEncoding: int32 - name: reason in: query description: Filter by reason for the config action (e.g. rogue_dhcp_server_detected) style: form explode: true schema: type: string - name: limit in: query description: Maximum number of results to return per page style: form explode: true schema: minimum: 0 type: integer contentEncoding: int32 default: 100 - name: start in: query description: Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w` style: form explode: true schema: type: string - name: end in: query description: Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now` style: form explode: true schema: type: string - name: duration in: query description: Time range duration for the query, using relative units such as `10m`, `7d`, or `2w` style: form explode: true schema: type: string default: 1d examples: - 10m responses: '200': description: Count result headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_count' - description: Distinct count response for time-bounded search results examples: - distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 contentMediaType: application/json examples: Example: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_count' - description: Distinct count response for time-bounded search results examples: - distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 contentMediaType: application/vnd.api+json examples: Example: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/marvis_configs/search: parameters: [] get: tags: - Sites Marvis Configs summary: searchSiteMarvisConfigActions description: Search Marvis Config Actions for a site. operationId: searchSiteMarvisConfigActions parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: mac in: query description: Filter by device MAC address style: form explode: true schema: type: string - name: type in: query description: Filter by config type (e.g. wired) style: form explode: true schema: type: string - name: src in: query description: Filter by source of the config action (e.g. marvis) style: form explode: true schema: type: string - name: admin_id in: query description: Filter by admin ID style: form explode: true schema: type: string - name: op in: query description: Filter by operation type (e.g. disable_port, enable_port, update_mtu, add_vlans_to_port) style: form explode: true schema: type: string - name: port_id in: query description: Filter by port identifier (e.g. ge-0/0/13) style: form explode: true schema: type: string - name: vlan_ids in: query description: Filter by VLAN ID style: form explode: true schema: type: integer contentEncoding: int32 - name: reason in: query description: Filter by reason for the config action (e.g. rogue_dhcp_server_detected) style: form explode: true schema: type: string - name: limit in: query description: Maximum number of results to return per page style: form explode: true schema: minimum: 0 type: integer contentEncoding: int32 default: 100 - name: start in: query description: Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w` style: form explode: true schema: type: string - name: end in: query description: Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now` style: form explode: true schema: type: string - name: duration in: query description: Time range duration for the query, using relative units such as `10m`, `7d`, or `2w` style: form explode: true schema: type: string default: 1d examples: - 10m responses: '200': description: Paginated Marvis Config Actions search results headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/marvis_config_actions_search' - description: Paginated list of Marvis config actions examples: - end: 1775122221 limit: 10 results: - admin_id: 6d617276-0000-0000-3157-000000000000 id: 05b46288-37d4-4860-9de4-1edc6e8d5363 mac: f8c1165aba00 op: disable_port org_id: 174260d5-cb22-4ea8-badb-c77a89acb0a9 port_id: ge-0/0/2 reason: rogue_dhcp_server_detected site_id: 437ac5f0-fc76-4a2b-87ab-d8d1e5c00405 src: marvis timestamp: 1775028130.405962 type: wired vlan_ids: [] - admin_id: 6d617276-0000-0000-3157-000000000000 id: b1a81ed4-a7a2-4945-b01d-f54afe6d5cc4 mac: f8c1165aba00 op: add_vlans_to_port org_id: 174260d5-cb22-4ea8-badb-c77a89acb0a9 port_id: ge-0/0/12 reason: missing_vlans site_id: 437ac5f0-fc76-4a2b-87ab-d8d1e5c00405 src: marvis timestamp: 1774866716.15723 type: wired vlan_ids: - 100 - 200 start: 1775118621 total: 2 contentMediaType: application/json examples: Example: value: end: 1775122221 limit: 10 results: - admin_id: 6d617276-0000-0000-3157-000000000000 id: 05b46288-37d4-4860-9de4-1edc6e8d5363 mac: f8c1165aba00 op: disable_port org_id: 174260d5-cb22-4ea8-badb-c77a89acb0a9 port_id: ge-0/0/2 reason: rogue_dhcp_server_detected site_id: 437ac5f0-fc76-4a2b-87ab-d8d1e5c00405 src: marvis timestamp: 1775028130.405962 type: wired vlan_ids: [] - admin_id: 6d617276-0000-0000-3157-000000000000 id: b1a81ed4-a7a2-4945-b01d-f54afe6d5cc4 mac: f8c1165aba00 op: add_vlans_to_port org_id: 174260d5-cb22-4ea8-badb-c77a89acb0a9 port_id: ge-0/0/12 reason: missing_vlans site_id: 437ac5f0-fc76-4a2b-87ab-d8d1e5c00405 src: marvis timestamp: 1774866716.15723 type: wired vlan_ids: - 100 - 200 start: 1775118621 total: 2 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/marvis_config_actions_search' - description: Paginated list of Marvis config actions examples: - end: 1775122221 limit: 10 results: - admin_id: 6d617276-0000-0000-3157-000000000000 id: 05b46288-37d4-4860-9de4-1edc6e8d5363 mac: f8c1165aba00 op: disable_port org_id: 174260d5-cb22-4ea8-badb-c77a89acb0a9 port_id: ge-0/0/2 reason: rogue_dhcp_server_detected site_id: 437ac5f0-fc76-4a2b-87ab-d8d1e5c00405 src: marvis timestamp: 1775028130.405962 type: wired vlan_ids: [] - admin_id: 6d617276-0000-0000-3157-000000000000 id: b1a81ed4-a7a2-4945-b01d-f54afe6d5cc4 mac: f8c1165aba00 op: add_vlans_to_port org_id: 174260d5-cb22-4ea8-badb-c77a89acb0a9 port_id: ge-0/0/12 reason: missing_vlans site_id: 437ac5f0-fc76-4a2b-87ab-d8d1e5c00405 src: marvis timestamp: 1774866716.15723 type: wired vlan_ids: - 100 - 200 start: 1775118621 total: 2 contentMediaType: application/vnd.api+json examples: Example: value: end: 1775122221 limit: 10 results: - admin_id: 6d617276-0000-0000-3157-000000000000 id: 05b46288-37d4-4860-9de4-1edc6e8d5363 mac: f8c1165aba00 op: disable_port org_id: 174260d5-cb22-4ea8-badb-c77a89acb0a9 port_id: ge-0/0/2 reason: rogue_dhcp_server_detected site_id: 437ac5f0-fc76-4a2b-87ab-d8d1e5c00405 src: marvis timestamp: 1775028130.405962 type: wired vlan_ids: [] - admin_id: 6d617276-0000-0000-3157-000000000000 id: b1a81ed4-a7a2-4945-b01d-f54afe6d5cc4 mac: f8c1165aba00 op: add_vlans_to_port org_id: 174260d5-cb22-4ea8-badb-c77a89acb0a9 port_id: ge-0/0/12 reason: missing_vlans site_id: 437ac5f0-fc76-4a2b-87ab-d8d1e5c00405 src: marvis timestamp: 1774866716.15723 type: wired vlan_ids: - 100 - 200 start: 1775118621 total: 2 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/marvis_configs/{id}: parameters: [] delete: tags: - Sites Marvis Configs summary: deleteSiteMarvisConfigAction description: Delete a Marvis Config Action. operationId: deleteSiteMarvisConfigAction parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: id in: path description: UUID of the Marvis Config Action required: true schema: type: string contentEncoding: uuid responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/marvis_configs/{id}/feedback: parameters: [] post: tags: - Sites Marvis Configs summary: submitSiteMarvisConfigFeedback description: Submit feedback on a Marvis-injected config action (e.g. mark as invalid). operationId: submitSiteMarvisConfigFeedback parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: id in: path description: UUID of the Marvis Config Action required: true schema: type: string contentEncoding: uuid requestBody: description: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/marvis_config_feedback' - description: Request Body contentMediaType: application/json required: true responses: '200': description: Marvis Config Feedback response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/marvis_config_feedback_response' - description: Response after submitting feedback on a Marvis config action examples: - feedback_note: this port config is intended, do not change anymore feedback_type: invalid contentMediaType: application/json examples: Example: value: feedback_note: this port config is intended, do not change anymore feedback_type: invalid application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/marvis_config_feedback_response' - description: Response after submitting feedback on a Marvis config action examples: - feedback_note: this port config is intended, do not change anymore feedback_type: invalid contentMediaType: application/vnd.api+json examples: Example: value: feedback_note: this port config is intended, do not change anymore feedback_type: invalid '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false components: schemas: marvis_config_feedback_response: title: marvis_config_feedback_response type: object properties: feedback_note: type: string description: The note provided with the feedback feedback_type: type: string description: The feedback type that was submitted description: Response after submitting feedback on a Marvis config action response_http403: title: response_http403 type: object properties: detail: type: string description: Human-readable explanation of the permission error examples: - You do not have permission to perform this action. description: Standard HTTP 403 permission error response count_result: title: count_result required: - count type: object properties: count: type: integer description: Number of matching items for the distinct value or values in this result contentEncoding: int32 additionalProperties: type: string description: Count result row with the matching distinct field values marvis_config_feedback_type: title: marvis_config_feedback_type const: invalid type: string description: 'Feedback type. enum: `invalid`' marvis_config_action: title: marvis_config_action type: object properties: admin_id: type: string description: Admin UUID associated with the config action contentEncoding: uuid id: type: string description: UUID of the config action contentEncoding: uuid mac: type: string description: Device MAC address op: type: string description: Operation type (e.g. disable_port, enable_port, update_mtu, add_vlans_to_port) org_id: type: string description: Organization UUID contentEncoding: uuid port_id: type: string description: Port identifier (e.g. ge-0/0/13) reason: type: string description: Reason for the config action (e.g. rogue_dhcp_server_detected) site_id: type: string description: Site UUID contentEncoding: uuid src: type: string description: Source of the config action (e.g. marvis) timestamp: type: number description: Timestamp when the config action was recorded, in epoch seconds type: type: string description: Config type (e.g. wired) vlan_ids: type: array items: type: integer contentEncoding: int32 description: List of VLAN IDs involved in the config action description: A Marvis-injected config action record response_http400: title: response_http400 type: object properties: detail: type: string description: Human-readable explanation of the bad request error examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' description: Standard HTTP 400 bad request error response marvis_config_feedback: title: marvis_config_feedback type: object properties: note: type: string description: Free-text note about the feedback type: allOf: - $ref: '#/components/schemas/marvis_config_feedback_type' - description: 'Feedback type. enum: `invalid`' description: Feedback submission for a Marvis config action response_http404: title: response_http404 type: object properties: id: type: string description: Missing resource identifier, when the API includes one description: Standard HTTP 404 not found error response marvis_config_actions_search: title: marvis_config_actions_search type: object properties: end: type: integer description: Search window end timestamp, in epoch seconds contentEncoding: int32 limit: type: integer description: Maximum number of results requested contentEncoding: int32 results: type: array items: $ref: '#/components/schemas/marvis_config_action' description: List of Marvis config actions start: type: integer description: Search window start timestamp, in epoch seconds contentEncoding: int32 total: type: integer description: Total number of matching results contentEncoding: int32 description: Paginated list of Marvis config actions response_http401: title: response_http401 type: object properties: detail: type: string description: Human-readable explanation of the authentication error examples: - Authentication credentials were not provided. description: Standard HTTP 401 authentication error response response_http429: title: response_http429 type: object properties: detail: type: string description: Human-readable explanation of the rate limit error examples: - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold description: Standard HTTP 429 rate limit error response response_count: title: response_count required: - distinct - end - limit - results - start - total type: object properties: distinct: type: string description: Field used to group the count results end: type: integer description: Search window end timestamp for the count request, in epoch seconds contentEncoding: int32 limit: type: integer description: Maximum number of distinct count results requested contentEncoding: int32 results: uniqueItems: true type: array items: $ref: '#/components/schemas/count_result' description: Count results grouped by the distinct field start: type: integer description: Search window start timestamp for the count request, in epoch seconds contentEncoding: int32 total: type: integer description: Number of distinct result buckets returned contentEncoding: int32 description: Distinct count response for time-bounded search results securitySchemes: apiToken: type: apiKey description: "Preferred authentication method for automation and integrations. Send the API token in the HTTP `Authorization` header.\n\n**Format**:\n `Authorization: Token {apitoken}`\n\n**Notes**:\n* An API token generated for a specific admin has the same privileges as that admin\n* An API token is automatically removed if it is not used for more than 90 days\n* SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed." name: Authorization in: header csrfToken: type: apiKey description: 'Session-based authentication for browser or login/password flows. After a successful [Login]($e/Admins%20Login/login) request, Mist returns a `csrftoken` cookie. Send that value in the `X-CSRFToken` header on later API requests that use the login session. **Format**: ``` X-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx ``` For automation, API Token authentication is preferred.' name: X-CSRFToken in: header