From 542663b5bbb1958423b711e8616457f866cf4c06 Mon Sep 17 00:00:00 2001 From: Andrew Martinez Date: Tue, 28 Mar 2023 11:59:13 -0400 Subject: [PATCH] This is now maintained in the edge-api repo --- specs/README.md | 23 - specs/client.yml | 4253 ---- specs/management.yml | 16549 ---------------- specs/source/client.yml | 132 - .../current-api-session-certificates.yml | 169 - .../current-api-session-service-updates.yml | 45 - .../client/current-identity-edge-routers.yml | 49 - specs/source/client/enroll.yml | 201 - specs/source/client/ext-jwt-signers.yml | 60 - specs/source/client/posture-response.yml | 177 - specs/source/client/protocols.yml | 41 - specs/source/client/services.yml | 108 - specs/source/client/sessions.yml | 107 - specs/source/client/well-known.yml | 87 - specs/source/management.yml | 344 - specs/source/management/api-sessions.yml | 70 - specs/source/management/auth-policies.yml | 350 - specs/source/management/authenticators.yml | 171 - specs/source/management/cas.yml | 452 - specs/source/management/config-types.yml | 238 - specs/source/management/configs.yml | 253 - specs/source/management/database.yml | 123 - .../management/edge-router-policies.yml | 272 - specs/source/management/edge-routers.yml | 433 - specs/source/management/enrollments.yml | 239 - specs/source/management/ext-jwt-signers.yml | 337 - .../management/failed-service-request.yml | 233 - specs/source/management/identities.yml | 703 - specs/source/management/identity-types.yml | 93 - .../source/management/posture-check-types.yml | 96 - specs/source/management/posture-checks.yml | 631 - specs/source/management/posture-data.yml | 149 - specs/source/management/role-attributes.yml | 90 - specs/source/management/routers.yml | 389 - specs/source/management/service-configs.yml | 61 - .../service-edge-router-policies.yml | 270 - specs/source/management/service-policies.yml | 327 - specs/source/management/services.yml | 338 - specs/source/management/sessions.yml | 146 - specs/source/management/summary.yml | 38 - specs/source/management/terminators.yml | 267 - specs/source/shared/api-sessions.yml | 70 - specs/source/shared/auth-query.yml | 25 - specs/source/shared/authenticate.yml | 133 - specs/source/shared/authenticators.yml | 129 - specs/source/shared/base-entity.yml | 102 - specs/source/shared/config-types.yml | 7 - specs/source/shared/current-api-session.yml | 94 - .../current-identity-authenticators.yml | 197 - specs/source/shared/current-identity-mfa.yml | 275 - specs/source/shared/current-identity.yml | 63 - specs/source/shared/edge-routers.yml | 35 - specs/source/shared/identities.yml | 146 - specs/source/shared/parameters.yml | 55 - specs/source/shared/posture-checks.yml | 21 - specs/source/shared/posture-queries.yml | 52 - specs/source/shared/services.yml | 78 - specs/source/shared/sessions.yml | 84 - specs/source/shared/specs.yml | 105 - specs/source/shared/standard-request.yml | 18 - specs/source/shared/standard-responses.yml | 228 - specs/source/shared/terminators.yml | 21 - specs/source/shared/version.yml | 92 - 63 files changed, 31144 deletions(-) delete mode 100644 specs/README.md delete mode 100644 specs/client.yml delete mode 100644 specs/management.yml delete mode 100644 specs/source/client.yml delete mode 100644 specs/source/client/current-api-session-certificates.yml delete mode 100644 specs/source/client/current-api-session-service-updates.yml delete mode 100644 specs/source/client/current-identity-edge-routers.yml delete mode 100644 specs/source/client/enroll.yml delete mode 100644 specs/source/client/ext-jwt-signers.yml delete mode 100644 specs/source/client/posture-response.yml delete mode 100644 specs/source/client/protocols.yml delete mode 100644 specs/source/client/services.yml delete mode 100644 specs/source/client/sessions.yml delete mode 100644 specs/source/client/well-known.yml delete mode 100644 specs/source/management.yml delete mode 100644 specs/source/management/api-sessions.yml delete mode 100644 specs/source/management/auth-policies.yml delete mode 100644 specs/source/management/authenticators.yml delete mode 100644 specs/source/management/cas.yml delete mode 100644 specs/source/management/config-types.yml delete mode 100644 specs/source/management/configs.yml delete mode 100644 specs/source/management/database.yml delete mode 100644 specs/source/management/edge-router-policies.yml delete mode 100644 specs/source/management/edge-routers.yml delete mode 100644 specs/source/management/enrollments.yml delete mode 100644 specs/source/management/ext-jwt-signers.yml delete mode 100644 specs/source/management/failed-service-request.yml delete mode 100644 specs/source/management/identities.yml delete mode 100644 specs/source/management/identity-types.yml delete mode 100644 specs/source/management/posture-check-types.yml delete mode 100644 specs/source/management/posture-checks.yml delete mode 100644 specs/source/management/posture-data.yml delete mode 100644 specs/source/management/role-attributes.yml delete mode 100644 specs/source/management/routers.yml delete mode 100644 specs/source/management/service-configs.yml delete mode 100644 specs/source/management/service-edge-router-policies.yml delete mode 100644 specs/source/management/service-policies.yml delete mode 100644 specs/source/management/services.yml delete mode 100644 specs/source/management/sessions.yml delete mode 100644 specs/source/management/summary.yml delete mode 100644 specs/source/management/terminators.yml delete mode 100644 specs/source/shared/api-sessions.yml delete mode 100644 specs/source/shared/auth-query.yml delete mode 100644 specs/source/shared/authenticate.yml delete mode 100644 specs/source/shared/authenticators.yml delete mode 100644 specs/source/shared/base-entity.yml delete mode 100644 specs/source/shared/config-types.yml delete mode 100644 specs/source/shared/current-api-session.yml delete mode 100644 specs/source/shared/current-identity-authenticators.yml delete mode 100644 specs/source/shared/current-identity-mfa.yml delete mode 100644 specs/source/shared/current-identity.yml delete mode 100644 specs/source/shared/edge-routers.yml delete mode 100644 specs/source/shared/identities.yml delete mode 100644 specs/source/shared/parameters.yml delete mode 100644 specs/source/shared/posture-checks.yml delete mode 100644 specs/source/shared/posture-queries.yml delete mode 100644 specs/source/shared/services.yml delete mode 100644 specs/source/shared/sessions.yml delete mode 100644 specs/source/shared/specs.yml delete mode 100644 specs/source/shared/standard-request.yml delete mode 100644 specs/source/shared/standard-responses.yml delete mode 100644 specs/source/shared/terminators.yml delete mode 100644 specs/source/shared/version.yml diff --git a/specs/README.md b/specs/README.md deleted file mode 100644 index 452910e0e..000000000 --- a/specs/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Edge Specs - -This folder contains the specifications for the two current edge APIs: client, management. - -## Updating a Spec - -If a spec has a bug and you are changing a spec please do not change these files. These -files are generated and should not be modified.: - -* ./management.yml -* ./client.yml - -The actual specs to modify are located in the `./source/` folder - -## Updating Client/Server Stubs - -After modifying a file, you will need to regenerate the stub code. - -* Download/install `swagger` from https://github.com/go-swagger/go-swagger/releases -* cd to the directory containing this README -* issue either: -** `./scripts/generate_rest.sh` -** `powershell -file "./scripts/generate_rest.ps1"` diff --git a/specs/client.yml b/specs/client.yml deleted file mode 100644 index f91b6913a..000000000 --- a/specs/client.yml +++ /dev/null @@ -1,4253 +0,0 @@ - -consumes: -- application/json -produces: -- application/json -schemes: -- https -swagger: "2.0" -info: - description: OpenZiti Edge Client API - title: Ziti Edge Client - contact: - name: OpenZiti - url: https://openziti.discourse.group - email: help@openziti.org - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - version: 0.25.5 -host: demo.ziti.dev -basePath: /edge/client/v1 -paths: - /: - get: - security: [] - tags: - - Informational - summary: Returns version information - operationId: listRoot - responses: - "200": - description: Version information for the controller - schema: - $ref: '#/definitions/listVersionEnvelope' - /.well-known/est/cacerts: - get: - security: [] - description: | - This endpoint is used during enrollments to bootstrap trust between enrolling clients and the Ziti Edge API. - This endpoint returns a base64 encoded PKCS7 store. The content can be base64 decoded and parsed by any library - that supports parsing PKCS7 stores. - produces: - - application/pkcs7-mime - tags: - - Well Known - summary: Get CA Cert Store - operationId: listWellKnownCas - responses: - "200": - description: A base64 encoded PKCS7 store - schema: - type: string - example: | - MIIMUQYJKoZIhvcNAQcCoIIMQjCCDD4CAQExADALBgkqhkiG9w0BBwGgggwkMIIG - BjCCA+6gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZcxCzAJBgNVBAYTAlVTMRcw - FQYDVQQIDA5Ob3J0aCBDYXJvbGluYTESMBAGA1UEBwwJQ2hhcmxvdHRlMRMwEQYD - VQQKDApOZXRGb3VuZHJ5MSkwJwYDVQQLDCBOZXRGb3VuZHJ5IENlcnRpZmljYXRl - IEF1dGhvcml0eTEbMBkGA1UEAwwSTmV0Rm91bmRyeSBSb290IENBMB4XDTE4MDUx - ODE2NTcyM1oXDTI4MDUxNTE2NTcyM1owgYsxCzAJBgNVBAYTAlVTMRcwFQYDVQQI - DA5Ob3J0aCBDYXJvbGluYTETMBEGA1UECgwKTmV0Rm91bmRyeTEpMCcGA1UECwwg - TmV0Rm91bmRyeSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxIzAhBgNVBAMMGk5ldEZv - dW5kcnkgSW50ZXJtZWRpYXRlIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC - CgKCAgEAsb1EPhMUweS9WpjT7L54xAOmZqugJ6fhSrFfLUwNUy172q+ASvZTpT1z - KIPcZpGmPB3TX2bHaAR67BbRkUR11JgWE3U8+FsGrYmPZtaKM6fg8Mh0WZ41oMYQ - NJyQixOktrgqfybyJoT5PeT5AA7QQmd8mku2X9nkAu6gWPf2nHNc7SeQdijmyQQa - VK3oqyaxOzWzsU/XbfMEz/ObkefUxgt5Z6jlK0xcW0Q+QgtawMKLUiuo6obWRPcl - 7Hm9Sze8XJS5pbvS5JkUszxoRZuDVHZylrlHIpA/IL+BnvS+M7SP28UWe9skrv/s - 6ACpJtuPJ1EYf5fakugOpY7i+hq7YNi//csbc49Qjn2OtttrR7JcTaHUEU1I/tQb - QGAtNkI4pJjRVUdDawQFQlWHZD1COixNLErs2HzAI00DhLrY6SKITI/kjN0Xx010 - XdMcdfay0PLWm6RwxiRmMQFL4GNIC895NF1q6xV4W4rWgqUNlcvKpy+i1chWpRbU - He16ul0qh10fcESrRvAbXn5YrQJLrwbSr+85ubN8lYdNLE0qg2cIXZlUilarZZzW - ghtCe+KkUpjfRuAi/CqfSwNK3QXEfeVEK6S49mHeSekOizFIw7fmDhCz9vXwMOnb - ryRSLEJks0gIRcSDVChXheAqC98y4kcQdniNWFnqJXoqA+rrSokCAwEAAaNmMGQw - HQYDVR0OBBYEFK8UXC/sq6dGVFAqEXHsQDzqzwuUMB8GA1UdIwQYMBaAFEHz6RRu - OuXj2mwAzOeUinfWeivpMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQD - AgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBDAAaOE2Nbb49eOjyTNxIeOB+ZKQjJ1hUE - gRrootAA8NYbtKW/vyxTWnNi5XOGXd4DFS9OKZ0mL/7NyLc0mbTwPH2ZT8KTPUTS - Cpo6yktZ/7TMjyAtWZiOMg2EH+6m/nlNSXk/v5fb8+JQLdZfpxoA017dHh3tc8l7 - KOskCZNwQHgF/YMXrPXUNbsGkXRuJLtpjPw5O9GvPys7p+a1aJH1WCTly9zfB6j+ - rMF+UGCPDT30sxitVlohik83j6pKLgEAP/gi8nJbILlTP7ce+gJeHR2tfDvmK91X - 6QgCF2STUFBU7/9H1/pPRRykOxQpAd8xqSgqGEyp9Ie4tysZjwoUEnG8IVJ5ykrI - Fximvnb4B+LABV9WEo08n8m1R8wEryrISi8fBPn3Pr5nuayOfFLa15CLTkZF40FN - 8ika1qNZy8bWRDwTZJQUUb7VCheRWcMwdZdNmhl3J+VZLpQ+ruW7b2ajwacHz5Nw - BHKNcmxXb/4vHq/BnlcayHnSqT6036+OZQ+owDegcYmWV6LaM7xLErjHz2EE38M2 - YSiW5SU1zluDe+iHb6l3Gd3Fj/X1gkMWFgYh0XPMSUSyimLNYzy4THKzmWlcQNFo - LLiIDbLrMt+vk+vBkIsNTTPXRJOFPBhmIF6uIUj+2YhzNotX/pQtqMKms3pPlmHq - dH6biwygETCCBhYwggP+oAMCAQICCQDquKpymLJ5WzANBgkqhkiG9w0BAQsFADCB - lzELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRIwEAYDVQQH - DAlDaGFybG90dGUxEzARBgNVBAoMCk5ldEZvdW5kcnkxKTAnBgNVBAsMIE5ldEZv - dW5kcnkgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRswGQYDVQQDDBJOZXRGb3VuZHJ5 - IFJvb3QgQ0EwHhcNMTgwNTE4MTY1NDQ3WhcNMzgwNTEzMTY1NDQ3WjCBlzELMAkG - A1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRIwEAYDVQQHDAlDaGFy - bG90dGUxEzARBgNVBAoMCk5ldEZvdW5kcnkxKTAnBgNVBAsMIE5ldEZvdW5kcnkg - Q2VydGlmaWNhdGUgQXV0aG9yaXR5MRswGQYDVQQDDBJOZXRGb3VuZHJ5IFJvb3Qg - Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKq/Xa+749Cr3WJGYD - DIEtNKIRnTFc6TeiRSm/O7hG2+1Nrh/dObjZJuDjsopWP8NFA/DwlNyEphYKAeSw - HDmu+4nFd6ifoeDE2lYq6bNhLcgN+A3MlN5Phb2rnO32YYZwHXGWov+jtd2gaK0f - WsH8CQxn6n2v7qvPMTeYFP8p4jqTZw2bvZWw+LMYTFCy541DFqQLQasMg10mXRAV - XO7Oa9y+D1re1zLq4wS6u8ItJoKzfmvZkMvD90C/tQ4u0iJaL7GB2SE9MOPDeGVv - pnoSAIkSVmvRDUAj2x9PuukykzoL1OAWzc5Cg+5LxRmLejVE7PvPcHaTtNag2tRD - w2vbMeFKN8NvQH1QYcaPWZe4Vl9b6DAuTaH5RN919H/F+ZHyjZybVPwC14lflneI - KyNy8JEV/YMIbEADWnuiedzDehk2Opn+0+9Zr2X/xfjCo8iWHFbNaVnQX7wdRaOo - 783lEouncqe46FDBLBpyAuDKHQpIT3MK8rkC/1yBNxsH44vMweUZuK0u7PC9KHtm - pQfuflYGfxA34kY6WU3jzyQHetoLYjoxTqNEEjuGpwy2o1j7RaCBEFIbYlnlbhpE - WFTaQf96z2GQ6m1U3y7JyDflHSu9Fo1JNkG3qXsjDwda/6W7NRJRgdFrhnOwrm7F - 6L9X4P1HnzU/VJL66LwPmiHVjQIDAQABo2MwYTAdBgNVHQ4EFgQUQfPpFG465ePa - bADM55SKd9Z6K+kwHwYDVR0jBBgwFoAUQfPpFG465ePabADM55SKd9Z6K+kwDwYD - VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB - ACfU74aKWROaxnue8tZb5PFkEbnDRcRrKXRhnptA0vrgB4ydnYxX9hEBZD8o6PBy - 3rewvl5meSOBE6zyb4JD80lHdzHSVFIwbzsNOeEjCslv/PA/3Y+J7DCt6gPNMDeY - uEssdqeSiMoYz2gnven4flSMKgTAJd3/SpVrn35HzXiU9MkmFVpPEMnTctOjw+Jn - cCkG5+D9N14dxtgZ/tUfbH+GUfhyGVxRdPrX5KQqAyapMfEaMXXa8KNs7PG+sDiS - WI+Sg9jUGtxgkfKdVNtFW+QMXyy7eT3iXPA+1r2hFAhgfIaGtBJUhxPHMhKtjbAg - AX+6+2D3GAbaD1+lcQHhKry3hygQ3OX79FJW6zyPS0tiV/LfovHqX/3x9q5PTVBO - wEOS2/LCc4R2M7S+HIPf4eSJ+nH4uCIdJ42WCror/mRsuL7geCksi70GHuCynP4y - qQFszu/UtbBEsN8loTnLpOInxaGB1Y8UPm14b2Lo1/3HkoMVh0/UaHJ0TmnZ1r7m - fGhfRyAZYRdvT1sB+Eb4b5A2zEZqsTc9IwFOhnI4ZilPoZ5s2xejqrVw3GSvovEh - dprrQmvxuh+VQ23y/+/4z9b2xWyDu2zVveB4whqPe2rkgxJrEl4GfLk2DW+dN6j8 - 3Zl4lPoUZYwzkC6raCaHyFlAoaTbqz0H6rvVJYxJPS6UoQAxAA== - /authenticate: - post: - security: [] - description: | - Allows authentication Methods include "password" and "cert" - tags: - - Authentication - summary: Authenticate via a method supplied via a query string parameter - operationId: authenticate - parameters: - - name: auth - in: body - schema: - $ref: '#/definitions/authenticate' - responses: - "200": - description: The API session associated with the session used to issue the - request - schema: - $ref: '#/definitions/currentApiSessionDetailEnvelope' - examples: - default: - data: - _links: - self: - href: ./current-api-session - configTypes: [] - createdAt: "2020-03-09T19:03:49.1883693Z" - expiresAt: "2020-03-09T19:34:21.5600897Z" - id: 27343114-b44f-406e-9981-f3c4f2f28d54 - identity: - _links: - self: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d - id: 66352d7b-a6b2-4ce9-85bb-9f18e318704d - name: Default Admin - urlName: identities - tags: - - userField1: 123 - - userField2: asdf - token: 28bb0ed2-0577-4632-ae70-d17106b92871 - updatedAt: "2020-03-09T19:04:21.5600897Z" - meta: {} - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "403": - description: The authentication request could not be processed as the credentials - are invalid - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: INVALID_AUTH - message: The authentication request failed - requestId: 5952ed10-3091-474f-a691-47ebab6990dc - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - enum: - - password - - cert - - ext-jwt - type: string - name: method - in: query - required: true - /authenticate/mfa: - post: - security: - - ztSession: [] - description: Completes MFA authentication by submitting a MFA time based one - time token or backup code. - tags: - - Authentication - - MFA - summary: Complete MFA authentication - operationId: authenticateMfa - parameters: - - description: An MFA validation request - name: mfaAuth - in: body - required: true - schema: - $ref: '#/definitions/mfaCode' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: Base empty response - schema: - $ref: '#/definitions/empty' - /current-api-session: - get: - security: - - ztSession: [] - description: Retrieves the API session that was used to issue the current request - tags: - - Current API Session - summary: Return the current API session - operationId: getCurrentAPISession - responses: - "200": - description: The API session associated with the session used to issue the - request - schema: - $ref: '#/definitions/currentApiSessionDetailEnvelope' - examples: - default: - data: - _links: - self: - href: ./current-api-session - configTypes: [] - createdAt: "2020-03-09T19:03:49.1883693Z" - expiresAt: "2020-03-09T19:34:21.5600897Z" - id: 27343114-b44f-406e-9981-f3c4f2f28d54 - identity: - _links: - self: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d - id: 66352d7b-a6b2-4ce9-85bb-9f18e318704d - name: Default Admin - urlName: identities - tags: - - userField1: 123 - - userField2: asdf - token: 28bb0ed2-0577-4632-ae70-d17106b92871 - updatedAt: "2020-03-09T19:04:21.5600897Z" - meta: {} - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Terminates the current API session - tags: - - Current API Session - summary: Logout - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-api-session/certificates: - get: - security: - - ztSession: [] - description: Retrieves a list of certificate resources for the current API session; - supports filtering, sorting, and pagination - tags: - - Current API Session - summary: List the ephemeral certificates available for the current API Session - operationId: listCurrentApiSessionCertificates - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of the current API Session's certificate - schema: - $ref: '#/definitions/listCurrentApiSessionCertificatesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Creates an ephemeral certificate for the current API Session. This - endpoint expects a PEM encoded CSRs to be provided for fulfillment as a property - of a JSON payload. It is up to the client to manage the private key backing - the CSR request. - tags: - - Current API Session - summary: Creates an ephemeral certificate for the current API Session - operationId: createCurrentApiSessionCertificate - parameters: - - description: The payload describing the CSR used to create a session certificate - name: sessionCertificate - in: body - required: true - schema: - $ref: '#/definitions/currentApiSessionCertificateCreate' - responses: - "201": - description: A response of a create API Session certificate - schema: - $ref: '#/definitions/createCurrentApiSessionCertificateEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-api-session/certificates/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single ephemeral certificate by id - tags: - - Current API Session - summary: Retrieves an ephemeral certificate - operationId: detailCurrentApiSessionCertificate - responses: - "200": - description: A response containing a single API Session certificate - schema: - $ref: '#/definitions/detailCurrentApiSessionCertificateEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: | - Delete an ephemeral certificateby id - tags: - - Current API Session - summary: Delete an ephemeral certificate - operationId: deleteCurrentApiSessionCertificate - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /current-api-session/service-updates: - get: - security: - - ztSession: [] - description: | - Retrieves data indicating the last time data relevant to this API Session was altered that would necessitate - service refreshes. - tags: - - Current API Session - - Services - summary: Returns data indicating whether a client should updates it service - list - operationId: listServiceUpdates - responses: - "200": - description: Data indicating necessary service updates - schema: - $ref: '#/definitions/listCurrentApiSessionServiceUpdatesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity: - get: - security: - - ztSession: [] - description: Returns the identity associated with the API sessions used to issue - the current request - tags: - - Current Identity - summary: Return the current identity - operationId: getCurrentIdentity - responses: - "200": - description: The identity associated with the API Session used to issue - the request - schema: - $ref: '#/definitions/currentIdentityDetailEnvelope' - examples: - default: - data: - _links: - edge-router-policies: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d/edge-routers - self: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d - service-policies: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d/identities - authenticators: - updb: - username: admin - createdAt: "2020-01-13T16:38:13.6854788Z" - enrollment: {} - id: 66352d7b-a6b2-4ce9-85bb-9f18e318704d - isAdmin: true - isDefaultAdmin: true - name: Default Admin - roleAttributes: [] - tags: {} - type: - _links: - self: - href: ./identity-types/User - id: User - name: User - urlName: identity-types - updatedAt: "2020-01-13T16:38:13.6854788Z" - meta: {} - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/authenticators: - get: - security: - - ztSession: [] - description: Retrieves a list of authenticators assigned to the current API - session's identity; supports filtering, sorting, and pagination. - tags: - - Current API Session - summary: List authenticators for the current identity - operationId: listCurrentIdentityAuthenticators - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of authenticators - schema: - $ref: '#/definitions/listAuthenticatorsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/authenticators/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single authenticator by id. Will only show authenticators - assigned to the API session's identity. - tags: - - Current API Session - summary: Retrieve an authenticator for the current identity - operationId: detailCurrentIdentityAuthenticator - responses: - "200": - description: A singular authenticator resource - schema: - $ref: '#/definitions/detailAuthenticatorEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: | - Update all fields on an authenticator by id. Will only update authenticators assigned to the API session's - identity. - tags: - - Current API Session - summary: Update all fields on an authenticator of this identity - operationId: updateCurrentIdentityAuthenticator - parameters: - - description: An authenticator put object - name: authenticator - in: body - required: true - schema: - $ref: '#/definitions/authenticatorUpdateWithCurrent' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: | - Update the supplied fields on an authenticator by id. Will only update authenticators assigned to the API - session's identity. - tags: - - Current API Session - summary: Update the supplied fields on an authenticator of this identity - operationId: patchCurrentIdentityAuthenticator - parameters: - - description: An authenticator patch object - name: authenticator - in: body - required: true - schema: - $ref: '#/definitions/authenticatorPatchWithCurrent' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /current-identity/authenticators/{id}/extend: - post: - security: - - ztSession: [] - description: |- - This endpoint only functions for certificates issued by the controller. 3rd party certificates are not handled. - Allows an identity to extend its certificate's expiration date by using its current and valid client certificate to submit a CSR. This CSR may be passed in using a new private key, thus allowing private key rotation. - The response from this endpoint is a new client certificate which the client must be verified via the /authenticators/{id}/extend-verify endpoint. - After verification is completion any new connections must be made with new certificate. Prior to verification the old client certificate remains active. - tags: - - Current API Session - - Enroll - - Extend Enrollment - summary: Allows the current identity to recieve a new certificate associated - with a certificate based authenticator - operationId: extendCurrentIdentityAuthenticator - parameters: - - name: extend - in: body - required: true - schema: - $ref: '#/definitions/identityExtendEnrollmentRequest' - responses: - "200": - description: A response containg the identity's new certificate - schema: - $ref: '#/definitions/identityExtendEnrollmentEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /current-identity/authenticators/{id}/extend-verify: - post: - security: - - ztSession: [] - description: |- - After submitting a CSR for a new client certificate the resulting public certificate must be re-submitted to this endpoint to verify receipt. - After receipt, the new client certificate must be used for new authentication requests. - tags: - - Current API Session - - Enroll - - Extend Enrollment - summary: Allows the current identity to validate reciept of a new client certificate - operationId: extendVerifyCurrentIdentityAuthenticator - parameters: - - name: extend - in: body - required: true - schema: - $ref: '#/definitions/identityExtendValidateEnrollmentRequest' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /current-identity/edge-routers: - get: - security: - - ztSession: [] - description: | - Lists the Edge Routers that the current identity has access to via policies. The data returned - includes their address and online status - tags: - - Current Identity - - Edge Router - summary: Return this list of Edge Routers the identity has access to - operationId: getCurrentIdentityEdgeRouters - responses: - "200": - description: A list of edge routers - schema: - $ref: '#/definitions/listCurrentIdentityEdgeRoutersEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/mfa: - get: - security: - - ztSession: [] - description: | - Returns details about the current MFA enrollment. If enrollment has not been completed it will return the current MFA configuration details necessary to complete a `POST /current-identity/mfa/verify`. - tags: - - Current Identity - - MFA - summary: Returns the current status of MFA enrollment - operationId: detailMfa - responses: - "200": - description: The details of an MFA enrollment - schema: - $ref: '#/definitions/detailMfaEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: | - Allows authenticator based MFA enrollment. If enrollment has already been completed, it must be disabled before attempting to re-enroll. Subsequent enrollment request is completed via `POST /current-identity/mfa/verify` - tags: - - Current Identity - - MFA - summary: Initiate MFA enrollment - operationId: enrollMfa - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The identity is already enrolled in MFA - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: null - cause: null - causeMessage: "" - code: ALREADY_MFA_ENROLLED - message: The identity is already enrolled in MFA - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: | - Disable MFA for the current identity. Requires a current valid time based one time password if MFA enrollment has been completed. If not, code should be an empty string. If one time passwords are not available and admin account can be used to remove MFA from the identity via `DELETE /identities//mfa`. - tags: - - Current Identity - - MFA - summary: Disable MFA for the current identity - operationId: deleteMfa - parameters: - - description: An MFA validation request - name: mfaValidation - in: body - schema: - $ref: '#/definitions/mfaCode' - - type: string - name: mfa-validation-code - in: header - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/mfa/qr-code: - get: - security: - - ztSession: [] - description: | - Shows an QR code image for unverified MFA enrollments. 404s if the MFA enrollment has been completed or not started. - produces: - - image/png - - application/json - tags: - - Current Identity - - MFA - summary: Show a QR code for unverified MFA enrollments - operationId: detailMfaQrCode - responses: - "200": - description: OK - "404": - description: No MFA enrollment or MFA enrollment is completed - /current-identity/mfa/recovery-codes: - get: - security: - - ztSession: [] - description: | - Allows the viewing of recovery codes of an MFA enrollment. Requires a current valid time based one time password to interact with. Available after a completed MFA enrollment. - tags: - - Current Identity - - MFA - summary: For a completed MFA enrollment view the current recovery codes - operationId: detailMfaRecoveryCodes - parameters: - - description: An MFA validation request - name: mfaValidation - in: body - schema: - $ref: '#/definitions/mfaCode' - - type: string - name: mfa-validation-code - in: header - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: | - Allows regeneration of recovery codes of an MFA enrollment. Requires a current valid time based one time password to interact with. Available after a completed MFA enrollment. This replaces all existing recovery codes. - tags: - - Current Identity - - MFA - summary: For a completed MFA enrollment regenerate the recovery codes - operationId: createMfaRecoveryCodes - parameters: - - description: An MFA validation request - name: mfaValidation - in: body - required: true - schema: - $ref: '#/definitions/mfaCode' - responses: - "200": - description: The recovery codes of an MFA enrollment - schema: - $ref: '#/definitions/detailMfaRecoveryCodesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/mfa/verify: - post: - security: - - ztSession: [] - description: | - Completes MFA enrollment by accepting a time based one time password as verification. Called after MFA enrollment has been initiated via `POST /current-identity/mfa`. - tags: - - Current Identity - - MFA - summary: Complete MFA enrollment by verifying a time based one time token - operationId: verifyMfa - parameters: - - description: An MFA validation request - name: mfaValidation - in: body - required: true - schema: - $ref: '#/definitions/mfaCode' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /enroll: - post: - description: endpoint defers to the logic in the more specific `enroll/*` endpoints - consumes: - - application/pkcs10 - - application/json - - application/x-pem-file - - text/plain - produces: - - application/x-pem-file - - application/json - tags: - - Enroll - summary: Legacy enrollment endpoint - operationId: enroll - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - format: uuid - name: token - in: query - /enroll/ca: - post: - description: | - For CA auto enrollment, an identity is not created beforehand. - Instead one will be created during enrollment. The client will present a client certificate that is signed by a - Certificate Authority that has been added and verified (See POST /cas and POST /cas/{id}/verify). - - During this process no CSRs are requires as the client should already be in possession of a valid certificate. - tags: - - Enroll - summary: Enroll an identity with a pre-exchanged certificate - operationId: enrollCa - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /enroll/erott: - post: - description: | - Enrolls an edge-router via a one-time-token to establish a certificate based identity. - tags: - - Enroll - summary: Enroll an edge-router - operationId: enrollErOtt - responses: - "200": - description: A response containing the edge routers signed certificates - (server chain, server cert, CAs). - schema: - $ref: '#/definitions/enrollmentCertsEnvelope' - parameters: - - type: string - format: uuid - name: token - in: query - required: true - /enroll/extend/router: - post: - description: | - Allows a router to extend its certificates' expiration date by - using its current and valid client certificate to submit a CSR. This CSR may - be passed in using a new private key, thus allowing private key rotation or swapping. - - After completion any new connections must be made with certificates returned from a 200 OK - response. The previous client certificate is rendered invalid for use with the controller even if it - has not expired. - - This request must be made using the existing, valid, client certificate. - tags: - - Enroll - - Extend Enrollment - summary: Extend the life of a currently enrolled router's certificates - operationId: extendRouterEnrollment - parameters: - - name: routerExtendEnrollmentRequest - in: body - required: true - schema: - $ref: '#/definitions/routerExtendEnrollmentRequest' - responses: - "200": - description: A response containg the edge routers new signed certificates - (server chain, server cert, CAs). - schema: - $ref: '#/definitions/enrollmentCertsEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /enroll/ott: - post: - description: | - Enroll an identity via a one-time-token which is supplied via a query string parameter. This enrollment method - expects a PEM encoded CSRs to be provided for fulfillment. It is up to the enrolling identity to manage the - private key backing the CSR request. - consumes: - - application/pkcs10 - produces: - - application/x-x509-user-cert - tags: - - Enroll - summary: Enroll an identity via one-time-token - operationId: enrollOtt - responses: - "200": - description: A PEM encoded certificate signed by the internal Ziti CA - schema: - type: string - examples: - application/x-x509-user-cert: | - -----BEGIN CERTIFICATE----- - MIICzDCCAlGgAwIBAgIRAPkVg1jVKqnNGFpSB3lPbaIwCgYIKoZIzj0EAwIwXjEL - MAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5DMRMwEQYDVQQKDApOZXRGb3VuZHJ5MS0w - KwYDVQQDDCROZXRGb3VuZHJ5IFppdGkgRXh0ZXJuYWwgQVBJIFJvb3QgQ0EwHhcN - MTgxMTE1MTI1NzE3WhcNMTkxMTI1MTI1NzE3WjBrMQswCQYDVQQGEwJVUzELMAkG - A1UECAwCTkMxEjAQBgNVBAcMCUNoYXJsb3R0ZTETMBEGA1UECgwKTmV0Rm91bmRy - eTEPMA0GA1UECwwGQWR2RGV2MRUwEwYDVQQDDAxaaXRpQ2xpZW50MDEwdjAQBgcq - hkjOPQIBBgUrgQQAIgNiAATTl2ft+/K9RvDgki9gSr9udNcV2bxD4LrWEdCdXNzF - iVUiEcEte9z/M0JRt8lgo17OjFvS+ecrAmLtIZNmQnH3+9YeafjeNPpvQsMKxlTN - MnU7Hka11GHc6swQZSyHvlKjgcUwgcIwCQYDVR0TBAIwADARBglghkgBhvhCAQEE - BAMCBaAwMwYJYIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVkIENsaWVudCBD - ZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUtx+Tej6lSYdjb8Jbc2QuvoEsI/swHwYDVR0j - BBgwFoAUcdTlRrnP43ZbQ3PGAbZMPE26+H4wDgYDVR0PAQH/BAQDAgXgMB0GA1Ud - JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAKBggqhkjOPQQDAgNpADBmAjEAuXDS - H7KKMr+la+Yuh8d8Q9cLtXzdS0j6a8e7iOyPJmdWq2WuzNdbCfAfLgKXuxhSAjEA - sadZrXl1OBv11RGAKdYBIyRmfYUotCFAtCNKcfgBUxci0TDaKDA7r3jnjKT1d7Fs - -----END CERTIFICATE----- - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - format: uuid - name: token - in: query - required: true - /enroll/ottca: - post: - description: | - Enroll an identity via a one-time-token that also requires a pre-exchanged client certificate to match a - Certificate Authority that has been added and verified (See POST /cas and POST /cas{id}/verify). The client - must present a client certificate signed by CA associated with the enrollment. This enrollment is similar to - CA auto enrollment except that is required the identity to be pre-created. - - As the client certificate has been pre-exchanged there is no CSR input to this enrollment method. - tags: - - Enroll - summary: Enroll an identity via one-time-token with a pre-exchanged client certificate - operationId: enrollOttCa - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - parameters: - - type: string - format: uuid - name: token - in: query - required: true - /enroll/updb: - post: - description: | - Enrolls an identity via a one-time-token to establish an initial username and password combination - tags: - - Enroll - summary: Enroll an identity via one-time-token - operationId: ernollUpdb - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - format: uuid - name: token - in: query - required: true - /external-jwt-signers: - get: - security: - - ztSession: [] - description: Retrieves a list of external JWT signers for authentication - tags: - - External JWT Signer - summary: List Client Authentication External JWT - operationId: listExternalJwtSigners - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of External JWT Signers - schema: - $ref: '#/definitions/listClientExternalJwtSignersEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /posture-response: - post: - security: - - ztSession: [] - description: Submits posture responses - tags: - - Posture Checks - summary: Submit a posture response to a posture query - operationId: createPostureResponse - parameters: - - description: A Posture Response - name: postureResponse - in: body - required: true - schema: - $ref: '#/definitions/postureResponseCreate' - responses: - "201": - description: Contains a list of services that have had their timers altered - schema: - $ref: '#/definitions/postureResponseEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /posture-response-bulk: - post: - security: - - ztSession: [] - description: Submits posture responses - tags: - - Posture Checks - summary: Submit multiple posture responses - operationId: createPostureResponseBulk - parameters: - - description: A Posture Response - name: postureResponse - in: body - required: true - schema: - type: array - items: - $ref: '#/definitions/postureResponseCreate' - responses: - "200": - description: Contains a list of services that have had their timers altered - schema: - $ref: '#/definitions/postureResponseEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /protocols: - get: - security: [] - tags: - - Informational - summary: Return a list of the listening Edge protocols - operationId: listProtocols - responses: - "200": - description: A list of supported Edge protocols - schema: - $ref: '#/definitions/listProtocolsEnvelope' - /services: - get: - security: - - ztSession: [] - description: | - Retrieves a list of config resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service - summary: List services - operationId: listServices - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - - type: array - items: - type: string - collectionFormat: multi - name: roleFilter - in: query - - type: string - name: roleSemantic - in: query - responses: - "200": - description: A list of services - schema: - $ref: '#/definitions/listServicesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /services/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single service by id. Requires admin access. - tags: - - Service - summary: Retrieves a single service - operationId: detailService - responses: - "200": - description: A single service - schema: - $ref: '#/definitions/detailServiceEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a service by id. Requires admin access. - tags: - - Service - summary: Update all fields on a service - operationId: updateService - parameters: - - description: A service update object - name: service - in: body - required: true - schema: - $ref: '#/definitions/serviceUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a service by id. Requires admin access. - tags: - - Service - summary: Delete a service - operationId: deleteService - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a service. Requires admin access. - tags: - - Service - summary: Update the supplied fields on a service - operationId: patchService - parameters: - - description: A service patch object - name: service - in: body - required: true - schema: - $ref: '#/definitions/servicePatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /services/{id}/terminators: - get: - security: - - ztSession: [] - description: | - Retrieves a list of terminator resources that are assigned specific service; supports filtering, sorting, and pagination. - tags: - - Service - summary: List of terminators assigned to a service - operationId: listServiceTerminators - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of terminators - schema: - $ref: '#/definitions/listClientTerminatorsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /sessions: - get: - security: - - ztSession: [] - description: | - Retrieves a list of active sessions resources; supports filtering, sorting, and pagination. - - Sessions are tied to an API session and are moved when an API session times out or logs out. Active sessions - (i.e. Ziti SDK connected to an edge router) will keep the session and API session marked as active. - tags: - - Session - summary: List sessions - operationId: listSessions - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of sessions - schema: - $ref: '#/definitions/listSessionsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a session resource. - tags: - - Session - summary: Create a session resource - operationId: createSession - parameters: - - description: A session to create - name: session - in: body - required: true - schema: - $ref: '#/definitions/sessionCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/sessionCreateEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /sessions/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single session by id. - tags: - - Session - summary: Retrieves a single session - operationId: detailSession - responses: - "200": - description: A single session - schema: - $ref: '#/definitions/detailSessionEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a session by id. - tags: - - Session - summary: Delete a session - operationId: deleteSession - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /specs: - get: - security: [] - description: Returns a list of spec files embedded within the controller for - consumption/documentation/code geneartion - tags: - - Informational - summary: Returns a list of API specs - operationId: listSpecs - responses: - "200": - description: A list of specifications - schema: - $ref: '#/definitions/listSpecsEnvelope' - /specs/{id}: - get: - security: [] - description: Returns single spec resource embedded within the controller for - consumption/documentation/code geneartion - tags: - - Informational - summary: Return a single spec resource - operationId: detailSpec - responses: - "200": - description: A single specification - schema: - $ref: '#/definitions/detailSpecEnvelope' - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /specs/{id}/spec: - get: - security: [] - description: Return the body of the specification (i.e. Swagger, OpenAPI 2.0, - 3.0, etc). - produces: - - text/yaml - - application/json - tags: - - Informational - summary: Returns the spec's file - operationId: detailSpecBody - responses: - "200": - description: Returns the document that represents the specification - schema: - $ref: '#/definitions/detailSpecBodyEnvelope' - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /version: - get: - security: [] - tags: - - Informational - summary: Returns version information - operationId: listVersion - responses: - "200": - description: Version information for the controller - schema: - $ref: '#/definitions/listVersionEnvelope' -definitions: - apiError: - type: object - properties: - args: - $ref: '#/definitions/apiErrorArgs' - cause: - $ref: '#/definitions/apiErrorCause' - causeMessage: - type: string - code: - type: string - data: - type: object - additionalProperties: true - message: - type: string - requestId: - type: string - apiErrorArgs: - type: object - properties: - urlVars: - type: object - additionalProperties: - type: string - apiErrorCause: - allOf: - - $ref: '#/definitions/apiFieldError' - - $ref: '#/definitions/apiError' - apiErrorEnvelope: - type: object - required: - - meta - - error - properties: - error: - $ref: '#/definitions/apiError' - meta: - $ref: '#/definitions/meta' - apiFieldError: - type: object - properties: - field: - type: string - reason: - type: string - value: - description: can be any value - string, number, boolean, array or object - apiSessionDetail: - description: An API Session object - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - token - - identity - - identityId - - configTypes - - ipAddress - - authQueries - - cachedUpdatedAt - - isMfaRequired - - isMfaComplete - - authenticatorId - properties: - authQueries: - $ref: '#/definitions/authQueryList' - authenticatorId: - type: string - cachedLastActivityAt: - type: string - format: date-time - configTypes: - type: array - items: - type: string - identity: - $ref: '#/definitions/entityRef' - identityId: - type: string - ipAddress: - type: string - isMfaComplete: - type: boolean - isMfaRequired: - type: boolean - lastActivityAt: - type: string - format: date-time - token: - type: string - apiVersion: - type: object - required: - - path - properties: - apiBaseUrls: - type: array - items: - type: string - path: - type: string - version: - type: string - attributes: - description: A set of strings used to loosly couple this resource to policies - type: array - items: - type: string - x-nullable: true - x-omitempty: true - authQueryDetail: - type: object - required: - - provider - properties: - format: - $ref: '#/definitions/mfaFormats' - httpMethod: - type: string - httpUrl: - type: string - maxLength: - type: integer - minLength: - type: integer - provider: - $ref: '#/definitions/mfaProviders' - typeId: - type: string - authQueryList: - type: array - items: - $ref: '#/definitions/authQueryDetail' - authenticate: - description: A generic authenticate object meant for use with the /authenticate - path. Required fields depend on authentication method. - type: object - properties: - configTypes: - $ref: '#/definitions/configTypes' - envInfo: - $ref: '#/definitions/envInfo' - password: - $ref: '#/definitions/password' - sdkInfo: - $ref: '#/definitions/sdkInfo' - username: - $ref: '#/definitions/username' - authenticatorDetail: - description: A singular authenticator resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - method - - identityId - - identity - properties: - certPem: - type: string - fingerprint: - type: string - identity: - $ref: '#/definitions/entityRef' - identityId: - type: string - method: - type: string - username: - type: string - authenticatorList: - description: An array of authenticator resources - type: array - items: - $ref: '#/definitions/authenticatorDetail' - authenticatorPatch: - description: All of the fields on an authenticator that may be updated - type: object - properties: - password: - $ref: '#/definitions/passwordNullable' - tags: - $ref: '#/definitions/tags' - username: - $ref: '#/definitions/usernameNullable' - authenticatorPatchWithCurrent: - description: All of the fields on an authenticator that may be updated - type: object - allOf: - - $ref: '#/definitions/authenticatorPatch' - - type: object - required: - - currentPassword - properties: - currentPassword: - $ref: '#/definitions/password' - authenticatorUpdate: - description: All of the fields on an authenticator that will be updated - type: object - required: - - username - - password - properties: - password: - $ref: '#/definitions/password' - tags: - $ref: '#/definitions/tags' - username: - $ref: '#/definitions/username' - authenticatorUpdateWithCurrent: - description: All of the fields on an authenticator that will be updated - type: object - allOf: - - $ref: '#/definitions/authenticatorUpdate' - - type: object - required: - - currentPassword - properties: - currentPassword: - $ref: '#/definitions/password' - baseEntity: - description: Fields shared by all Edge API entities - type: object - required: - - id - - createdAt - - updatedAt - - _links - properties: - _links: - $ref: '#/definitions/links' - createdAt: - type: string - format: date-time - id: - type: string - tags: - $ref: '#/definitions/tags' - updatedAt: - type: string - format: date-time - clientExternalJwtSignerDetail: - description: A External JWT Signer resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - externalAuthUrl - properties: - externalAuthUrl: - type: string - format: url - name: - type: string - example: MyApps Signer - clientExternalJwtSignerList: - description: An array of External JWT Signers resources - type: array - items: - $ref: '#/definitions/clientExternalJwtSignerDetail' - commonEdgeRouterProperties: - type: object - required: - - hostname - - name - - supportedProtocols - - syncStatus - - isOnline - - cost - - noTraversal - properties: - appData: - $ref: '#/definitions/tags' - cost: - type: integer - maximum: 65535 - minimum: 0 - x-nullable: true - hostname: - type: string - isOnline: - type: boolean - name: - type: string - noTraversal: - type: boolean - x-nullable: true - supportedProtocols: - type: object - additionalProperties: - type: string - syncStatus: - type: string - configTypes: - description: Specific configuration types that should be returned - type: array - items: - type: string - createCurrentApiSessionCertificateEnvelope: - required: - - meta - - data - properties: - data: - $ref: '#/definitions/currentApiSessionCertificateCreateResponse' - meta: - $ref: '#/definitions/meta' - createEnvelope: - type: object - properties: - data: - $ref: '#/definitions/createLocation' - meta: - $ref: '#/definitions/meta' - createLocation: - type: object - properties: - _links: - $ref: '#/definitions/links' - id: - type: string - currentApiSessionCertificateCreate: - type: object - required: - - csr - properties: - csr: - type: string - currentApiSessionCertificateCreateResponse: - allOf: - - $ref: '#/definitions/createLocation' - - type: object - required: - - certificate - properties: - cas: - type: string - certificate: - type: string - currentApiSessionCertificateDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - subject - - fingerprint - - validFrom - - validTo - - certificate - properties: - certificate: - type: string - fingerprint: - type: string - subject: - type: string - validFrom: - type: string - format: date-time - validTo: - type: string - format: date-time - currentApiSessionCertificateList: - type: array - items: - $ref: '#/definitions/currentApiSessionCertificateDetail' - currentApiSessionDetail: - description: An API Session object for the current API session - type: object - allOf: - - $ref: '#/definitions/apiSessionDetail' - - type: object - required: - - expiresAt - - expirationSeconds - properties: - expirationSeconds: - type: integer - expiresAt: - type: string - format: date-time - currentApiSessionDetailEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/currentApiSessionDetail' - meta: - $ref: '#/definitions/meta' - currentApiSessionServiceUpdateList: - type: object - required: - - lastChangeAt - properties: - lastChangeAt: - type: string - format: date-time - currentIdentityDetailEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/identityDetail' - meta: - $ref: '#/definitions/meta' - currentIdentityEdgeRouterDetail: - description: A detail edge router resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - $ref: '#/definitions/commonEdgeRouterProperties' - currentIdentityEdgeRouterList: - description: A list of edge router resources - type: array - items: - $ref: '#/definitions/currentIdentityEdgeRouterDetail' - detailAuthenticatorEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/authenticatorDetail' - meta: - $ref: '#/definitions/meta' - detailCurrentApiSessionCertificateEnvelope: - required: - - meta - - data - properties: - data: - $ref: '#/definitions/currentApiSessionCertificateDetail' - meta: - $ref: '#/definitions/meta' - detailMfa: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - required: - - isVerified - properties: - isVerified: - type: boolean - provisioningUrl: - description: Not provided if MFA verification has been completed - type: string - recoveryCodes: - description: Not provided if MFA verification has been completed - type: array - items: - type: string - detailMfaEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/detailMfa' - meta: - $ref: '#/definitions/meta' - detailMfaRecoveryCodes: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - required: - - recoveryCodes - properties: - recoveryCodes: - type: array - items: - type: string - detailMfaRecoveryCodesEnvelope: - type: object - required: - - meta - - error - properties: - error: - $ref: '#/definitions/detailMfaRecoveryCodes' - meta: - $ref: '#/definitions/meta' - detailServiceEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/serviceDetail' - meta: - $ref: '#/definitions/meta' - detailSessionEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/sessionDetail' - meta: - $ref: '#/definitions/meta' - detailSpecBodyEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/specBodyDetail' - meta: - $ref: '#/definitions/meta' - detailSpecEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/specDetail' - meta: - $ref: '#/definitions/meta' - dialBind: - type: string - enum: - - Dial - - Bind - dialBindArray: - type: array - items: - $ref: '#/definitions/dialBind' - empty: - type: object - required: - - meta - - data - properties: - data: - type: object - example: {} - meta: - $ref: '#/definitions/meta' - enrollmentCerts: - type: object - properties: - ca: - description: A PEM encoded set of CA certificates to trust - type: string - cert: - description: A PEM encoded cert for the server - type: string - serverCert: - description: A PEM encoded set of certificates to use as the servers chain - type: string - enrollmentCertsEnvelope: - type: object - properties: - data: - $ref: '#/definitions/enrollmentCerts' - meta: - $ref: '#/definitions/meta' - entityRef: - description: A reference to another resource and links to interact with it - type: object - properties: - _links: - $ref: '#/definitions/links' - entity: - type: string - id: - type: string - name: - type: string - envInfo: - description: Environment information an authenticating client may provide - type: object - properties: - arch: - type: string - os: - type: string - osRelease: - type: string - osVersion: - type: string - identityAuthenticators: - type: object - properties: - cert: - type: object - properties: - fingerprint: - type: string - id: - type: string - updb: - type: object - properties: - id: - type: string - username: - type: string - identityDetail: - description: Detail of a specific identity - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - type - - typeId - - isDefaultAdmin - - isAdmin - - authenticators - - enrollment - - envInfo - - sdkInfo - - roleAttributes - - hasEdgeRouterConnection - - hasApiSession - - isMfaEnabled - - serviceHostingPrecedences - - serviceHostingCosts - - defaultHostingCost - - authPolicyId - - externalId - - disabled - properties: - appData: - $ref: '#/definitions/tags' - authPolicyId: - type: string - authenticators: - $ref: '#/definitions/identityAuthenticators' - defaultHostingCost: - $ref: '#/definitions/terminatorCost' - defaultHostingPrecedence: - $ref: '#/definitions/terminatorPrecedence' - disabled: - type: boolean - disabledAt: - type: string - format: date-time - x-nullable: true - disabledUntil: - type: string - format: date-time - x-nullable: true - enrollment: - $ref: '#/definitions/identityEnrollments' - envInfo: - $ref: '#/definitions/envInfo' - externalId: - type: string - x-nullable: true - hasApiSession: - type: boolean - hasEdgeRouterConnection: - type: boolean - isAdmin: - type: boolean - isDefaultAdmin: - type: boolean - isMfaEnabled: - type: boolean - name: - type: string - roleAttributes: - $ref: '#/definitions/attributes' - sdkInfo: - $ref: '#/definitions/sdkInfo' - serviceHostingCosts: - $ref: '#/definitions/terminatorCostMap' - serviceHostingPrecedences: - $ref: '#/definitions/terminatorPrecedenceMap' - type: - $ref: '#/definitions/entityRef' - typeId: - type: string - identityEnrollments: - type: object - properties: - ott: - type: object - properties: - expiresAt: - type: string - format: date-time - id: - type: string - jwt: - type: string - token: - type: string - ottca: - type: object - properties: - ca: - $ref: '#/definitions/entityRef' - caId: - type: string - expiresAt: - type: string - format: date-time - id: - type: string - jwt: - type: string - token: - type: string - updb: - type: object - properties: - expiresAt: - type: string - format: date-time - id: - type: string - jwt: - type: string - token: - type: string - identityExtendCerts: - type: object - properties: - ca: - description: A PEM encoded set of CA certificates - type: string - clientCert: - description: A PEM encoded client certificate - type: string - identityExtendEnrollmentEnvelope: - type: object - properties: - data: - $ref: '#/definitions/identityExtendCerts' - meta: - $ref: '#/definitions/meta' - identityExtendEnrollmentRequest: - type: object - required: - - clientCertCsr - properties: - clientCertCsr: - type: string - identityExtendValidateEnrollmentRequest: - type: object - required: - - clientCert - properties: - clientCert: - description: A PEM encoded client certificate previously returned after an - extension request - type: string - link: - description: A link to another resource - type: object - required: - - href - properties: - comment: - type: string - href: - type: string - format: uri - method: - type: string - links: - description: A map of named links - type: object - additionalProperties: - $ref: '#/definitions/link' - x-omitempty: false - listAuthenticatorsEnvelope: - type: object - properties: - data: - $ref: '#/definitions/authenticatorList' - meta: - $ref: '#/definitions/meta' - listClientExternalJwtSignersEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/clientExternalJwtSignerList' - meta: - $ref: '#/definitions/meta' - listClientTerminatorsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/terminatorClientList' - meta: - $ref: '#/definitions/meta' - listCurrentApiSessionCertificatesEnvelope: - required: - - meta - - data - properties: - data: - $ref: '#/definitions/currentApiSessionCertificateList' - meta: - $ref: '#/definitions/meta' - listCurrentApiSessionServiceUpdatesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/currentApiSessionServiceUpdateList' - meta: - $ref: '#/definitions/meta' - listCurrentIdentityEdgeRoutersEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/currentIdentityEdgeRouterList' - meta: - $ref: '#/definitions/meta' - listProtocols: - type: object - additionalProperties: - $ref: '#/definitions/protocol' - listProtocolsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/listProtocols' - meta: - $ref: '#/definitions/meta' - listServicesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/serviceList' - meta: - $ref: '#/definitions/meta' - listSessionsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/sessionList' - meta: - $ref: '#/definitions/meta' - listSpecsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/specList' - meta: - $ref: '#/definitions/meta' - listVersionEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/version' - meta: - $ref: '#/definitions/meta' - meta: - type: object - properties: - apiEnrollmentVersion: - type: string - apiVersion: - type: string - filterableFields: - type: array - items: - type: string - x-omitempty: true - pagination: - $ref: '#/definitions/pagination' - mfaCode: - type: object - required: - - code - properties: - code: - type: string - mfaFormats: - type: string - enum: - - numeric - - alpha - - alphaNumeric - mfaProviders: - type: string - enum: - - ziti - - url - osType: - type: string - enum: - - Windows - - WindowsServer - - Android - - iOS - - Linux - - macOS - pagination: - type: object - required: - - limit - - offset - - totalCount - properties: - limit: - type: number - format: int64 - offset: - type: number - format: int64 - totalCount: - type: number - format: int64 - password: - type: string - maxLength: 100 - minLength: 5 - passwordNullable: - type: string - maxLength: 100 - minLength: 5 - x-nullable: true - postureCheckType: - type: string - enum: - - OS - - PROCESS - - DOMAIN - - MAC - - MFA - - PROCESS_MULTI - postureQueries: - type: object - required: - - policyId - - isPassing - - postureQueries - properties: - isPassing: - type: boolean - policyId: - type: string - policyType: - $ref: '#/definitions/dialBind' - postureQueries: - type: array - items: - $ref: '#/definitions/postureQuery' - postureQuery: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - queryType - - isPassing - - timeout - - timeoutRemaining - properties: - isPassing: - type: boolean - process: - $ref: '#/definitions/postureQueryProcess' - processes: - type: array - items: - $ref: '#/definitions/postureQueryProcess' - queryType: - $ref: '#/definitions/postureCheckType' - timeout: - type: integer - timeoutRemaining: - type: integer - postureQueryProcess: - type: object - properties: - osType: - $ref: '#/definitions/osType' - path: - type: string - postureResponse: - type: object - required: - - services - properties: - services: - type: array - items: - $ref: '#/definitions/postureResponseService' - postureResponseCreate: - type: object - required: - - id - - typeId - properties: - id: - type: string - typeId: - $ref: '#/definitions/postureCheckType' - discriminator: typeId - postureResponseDomainCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - required: - - domain - properties: - domain: - type: string - x-class: DOMAIN - postureResponseEndpointStateCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - properties: - unlocked: - type: boolean - woken: - type: boolean - x-class: ENDPOINT_STATE - postureResponseEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/postureResponse' - meta: - $ref: '#/definitions/meta' - postureResponseMacAddressCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - required: - - macAddresses - properties: - macAddresses: - type: array - items: - type: string - x-class: MAC - postureResponseOperatingSystemCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - required: - - type - - version - properties: - build: - type: string - type: - type: string - version: - type: string - x-class: OS - postureResponseProcessCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - required: - - process - properties: - hash: - type: string - isRunning: - type: boolean - path: - type: string - signerFingerprints: - type: array - items: - type: string - x-class: PROCESS - postureResponseService: - type: object - required: - - id - - name - - postureQueryType - - timeout - - timeoutRemaining - properties: - id: - type: string - name: - type: string - postureQueryType: - type: string - timeout: - type: integer - timeoutRemaining: - type: integer - protocol: - type: object - required: - - address - properties: - address: - type: string - routerExtendEnrollmentRequest: - type: object - required: - - serverCertCsr - - certCsr - properties: - certCsr: - type: string - serverCertCsr: - type: string - sdkInfo: - description: SDK information an authenticating client may provide - type: object - properties: - appId: - type: string - appVersion: - type: string - branch: - type: string - revision: - type: string - type: - type: string - version: - type: string - serviceDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - terminatorStrategy - - roleAttributes - - permissions - - configs - - config - - encryptionRequired - - postureQueries - properties: - config: - description: map of config data for this service keyed by the config type - name. Only configs of the types requested will be returned. - type: object - additionalProperties: - type: object - additionalProperties: - type: object - configs: - type: array - items: - type: string - encryptionRequired: - description: Describes whether connections must support end-to-end encryption - on both sides of the connection. Read-only property, set at create. - type: boolean - name: - type: string - permissions: - $ref: '#/definitions/dialBindArray' - postureQueries: - type: array - items: - $ref: '#/definitions/postureQueries' - roleAttributes: - $ref: '#/definitions/attributes' - terminatorStrategy: - type: string - serviceList: - type: array - items: - $ref: '#/definitions/serviceDetail' - servicePatch: - type: object - properties: - configs: - type: array - items: - type: string - encryptionRequired: - description: Describes whether connections must support end-to-end encryption - on both sides of the connection. Read-only property, set at create. - type: boolean - name: - type: string - roleAttributes: - type: array - items: - type: string - tags: - $ref: '#/definitions/tags' - terminatorStrategy: - type: string - serviceUpdate: - type: object - required: - - name - properties: - configs: - type: array - items: - type: string - encryptionRequired: - description: Describes whether connections must support end-to-end encryption - on both sides of the connection. Read-only property, set at create. - type: boolean - name: - type: string - roleAttributes: - type: array - items: - type: string - tags: - $ref: '#/definitions/tags' - terminatorStrategy: - type: string - sessionCreate: - type: object - properties: - serviceId: - type: string - tags: - $ref: '#/definitions/tags' - type: - $ref: '#/definitions/dialBind' - sessionCreateEnvelope: - type: object - properties: - data: - $ref: '#/definitions/sessionDetail' - meta: - $ref: '#/definitions/meta' - sessionDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - type - - apiSessionId - - apiSession - - serviceId - - service - - token - - edgeRouters - - identityId - properties: - apiSession: - $ref: '#/definitions/entityRef' - apiSessionId: - type: string - edgeRouters: - type: array - items: - $ref: '#/definitions/sessionEdgeRouter' - identityId: - type: string - service: - $ref: '#/definitions/entityRef' - serviceId: - type: string - token: - type: string - type: - $ref: '#/definitions/dialBind' - sessionEdgeRouter: - allOf: - - $ref: '#/definitions/commonEdgeRouterProperties' - - type: object - required: - - urls - properties: - urls: - type: object - additionalProperties: - type: string - sessionList: - type: array - items: - $ref: '#/definitions/sessionDetail' - specBodyDetail: - type: string - specDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - properties: - name: - type: string - specList: - type: array - items: - $ref: '#/definitions/specDetail' - subTags: - type: object - additionalProperties: - type: object - tags: - description: 'A map of user defined fields and values. The values are limited - to the following types/values: null, string, boolean' - allOf: - - $ref: '#/definitions/subTags' - x-nullable: true - terminatorClientDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - serviceId - - service - - routerId - - identity - properties: - identity: - type: string - routerId: - type: string - service: - $ref: '#/definitions/entityRef' - serviceId: - type: string - terminatorClientList: - type: array - items: - $ref: '#/definitions/terminatorClientDetail' - terminatorCost: - type: integer - maximum: 65535 - minimum: 0 - terminatorCostMap: - type: object - additionalProperties: - $ref: '#/definitions/terminatorCost' - terminatorPrecedence: - type: string - enum: - - default - - required - - failed - terminatorPrecedenceMap: - type: object - additionalProperties: - $ref: '#/definitions/terminatorPrecedence' - username: - type: string - maxLength: 100 - minLength: 4 - usernameNullable: - type: string - maxLength: 100 - minLength: 4 - x-nullable: true - version: - type: object - properties: - apiVersions: - type: object - additionalProperties: - type: object - additionalProperties: - $ref: '#/definitions/apiVersion' - buildDate: - type: string - example: "2020-02-11 16:09:08" - revision: - type: string - example: ea556fc18740 - runtimeVersion: - type: string - example: go1.13.5 - version: - type: string - example: v0.9.0 -securityDefinitions: - ztSession: - description: An API Key that is provided post authentication - type: apiKey - name: zt-session - in: header diff --git a/specs/management.yml b/specs/management.yml deleted file mode 100644 index da5f13294..000000000 --- a/specs/management.yml +++ /dev/null @@ -1,16549 +0,0 @@ -consumes: -- application/json -produces: -- application/json -schemes: -- https -swagger: "2.0" -info: - description: OpenZiti Edge Management API - title: Ziti Edge Management - contact: - name: OpenZiti - url: https://openziti.discourse.group - email: help@openziti.org - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - version: 0.25.5 -host: demo.ziti.dev -basePath: /edge/management/v1 -paths: - /: - get: - security: [] - tags: - - Informational - summary: Returns version information - operationId: listRoot - responses: - "200": - description: Version information for the controller - schema: - $ref: '#/definitions/listVersionEnvelope' - /api-sessions: - get: - security: - - ztSession: [] - description: | - Returns a list of active API sessions. The resources can be sorted, filtered, and paginated. This endpoint - requries admin access. - produces: - - application/json; charset=utf-8 - tags: - - API Session - summary: List active API sessions - operationId: listAPISessions - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of active API Sessions - schema: - $ref: '#/definitions/listApiSessionsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /api-sessions/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single API Session by id. Requires admin access. - tags: - - API Session - summary: Retrieves a single API Session - operationId: detailAPISessions - responses: - "200": - description: Retrieves a singular API Session by id - schema: - $ref: '#/definitions/detailApiSessionEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Deletes and API sesion by id. Requires admin access. - tags: - - API Session - summary: Deletes an API Sessions - operationId: deleteAPISessions - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "403": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /auth-policies: - get: - security: - - ztSession: [] - description: Retrieves a list of Auth Policies - tags: - - Auth Policy - summary: List Auth Policies - operationId: listAuthPolicies - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of Auth Policies - schema: - $ref: '#/definitions/listAuthPoliciesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Creates an Auth Policy. Requires admin access. - tags: - - Auth Policy - summary: Creates an Auth Policy - operationId: createAuthPolicy - parameters: - - description: An Auth Policy to create - name: authPolicy - in: body - required: true - schema: - $ref: '#/definitions/authPolicyCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /auth-policies/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single Auth Policy by id. Requires admin access. - tags: - - Auth Policy - summary: Retrieves a single Auth Policy - operationId: detailAuthPolicy - responses: - "200": - description: A singular Auth Policy resource - schema: - $ref: '#/definitions/detailAuthPolicyEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on an Auth Policy by id. Requires admin access. - tags: - - Auth Policy - summary: Update all fields on an Auth Policy - operationId: updateAuthPolicy - parameters: - - description: An Auth Policy update object - name: authPolicy - in: body - required: true - schema: - $ref: '#/definitions/authPolicyUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: | - Delete an Auth Policy by id. Requires admin access. - tags: - - Auth Policy - summary: Delete an Auth Policy - operationId: deleteAuthPolicy - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update only the supplied fields on an Auth Policy by id. Requires - admin access. - tags: - - Auth Policy - summary: Update the supplied fields on an Auth Policy - operationId: patchAuthPolicy - parameters: - - description: An Auth Policy patch object - name: authPolicy - in: body - required: true - schema: - $ref: '#/definitions/authPolicyPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /authenticate: - post: - security: [] - description: | - Allows authentication Methods include "password" and "cert" - tags: - - Authentication - summary: Authenticate via a method supplied via a query string parameter - operationId: authenticate - parameters: - - name: auth - in: body - schema: - $ref: '#/definitions/authenticate' - responses: - "200": - description: The API session associated with the session used to issue the - request - schema: - $ref: '#/definitions/currentApiSessionDetailEnvelope' - examples: - default: - data: - _links: - self: - href: ./current-api-session - configTypes: [] - createdAt: "2020-03-09T19:03:49.1883693Z" - expiresAt: "2020-03-09T19:34:21.5600897Z" - id: 27343114-b44f-406e-9981-f3c4f2f28d54 - identity: - _links: - self: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d - id: 66352d7b-a6b2-4ce9-85bb-9f18e318704d - name: Default Admin - urlName: identities - tags: - - userField1: 123 - - userField2: asdf - token: 28bb0ed2-0577-4632-ae70-d17106b92871 - updatedAt: "2020-03-09T19:04:21.5600897Z" - meta: {} - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "403": - description: The authentication request could not be processed as the credentials - are invalid - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: INVALID_AUTH - message: The authentication request failed - requestId: 5952ed10-3091-474f-a691-47ebab6990dc - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - enum: - - password - - cert - - ext-jwt - type: string - name: method - in: query - required: true - /authenticate/mfa: - post: - security: - - ztSession: [] - description: Completes MFA authentication by submitting a MFA time based one - time token or backup code. - tags: - - Authentication - - MFA - summary: Complete MFA authentication - operationId: authenticateMfa - parameters: - - description: An MFA validation request - name: mfaAuth - in: body - required: true - schema: - $ref: '#/definitions/mfaCode' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: Base empty response - schema: - $ref: '#/definitions/empty' - /authenticators: - get: - security: - - ztSession: [] - description: | - Returns a list of authenticators associated to identities. The resources can be sorted, filtered, and paginated. - This endpoint requires admin access. - tags: - - Authenticator - summary: List authenticators - operationId: listAuthenticators - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of authenticators - schema: - $ref: '#/definitions/listAuthenticatorsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: | - Creates an authenticator for a specific identity. Requires admin access. - tags: - - Authenticator - summary: Creates an authenticator - operationId: createAuthenticator - parameters: - - description: A Authenticator create object - name: authenticator - in: body - required: true - schema: - $ref: '#/definitions/authenticatorCreate' - responses: - "201": - description: The create was successful - schema: - $ref: '#/definitions/authenticatorCreate' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /authenticators/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single authenticator by id. Requires admin access. - tags: - - Authenticator - summary: Retrieves a single authenticator - operationId: detailAuthenticator - responses: - "200": - description: A singular authenticator resource - schema: - $ref: '#/definitions/detailAuthenticatorEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on an authenticator by id. Requires admin access. - tags: - - Authenticator - summary: Update all fields on an authenticator - operationId: updateAuthenticator - parameters: - - description: An authenticator put object - name: authenticator - in: body - required: true - schema: - $ref: '#/definitions/authenticatorUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: | - Delete an authenticator by id. Deleting all authenticators for an identity will make it impossible to log in. - Requires admin access. - tags: - - Authenticator - summary: Delete an Authenticator - operationId: deleteAuthenticator - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on an authenticator by id. Requires - admin access. - tags: - - Authenticator - summary: Update the supplied fields on an authenticator - operationId: patchAuthenticator - parameters: - - description: An authenticator patch object - name: authenticator - in: body - required: true - schema: - $ref: '#/definitions/authenticatorPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /authenticators/{id}/re-enroll: - post: - security: - - ztSession: [] - description: "Allows an authenticator to be reverted to an enrollment and allows - re-enrollment to occur. On success the \ncreated enrollment record response - is provided and the source authenticator record will be deleted. The \nenrollment - created depends on the authenticator. UPDB authenticators result in UPDB enrollments, - CERT\nauthenticators result in OTT enrollments, CERT + CA authenticators result - in OTTCA enrollments.\n" - tags: - - Authenticator - summary: Reverts an authenticator to an enrollment - operationId: reEnrollAuthenticator - parameters: - - description: A reEnrollment request - name: reEnroll - in: body - required: true - schema: - $ref: '#/definitions/reEnroll' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /cas: - get: - security: - - ztSession: [] - description: Retrieves a list of CA resources; supports filtering, sorting, - and pagination. Requires admin access. - tags: - - Certificate Authority - summary: List CAs - operationId: listCas - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of Certificate Authorities (CAs) - schema: - $ref: '#/definitions/listCasEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Creates a CA in an unverified state. Requires admin access. - tags: - - Certificate Authority - summary: Creates a CA - operationId: createCa - parameters: - - description: A CA to create - name: ca - in: body - required: true - schema: - $ref: '#/definitions/caCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /cas/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single CA by id. Requires admin access. - tags: - - Certificate Authority - summary: Retrieves a single CA - operationId: detailCa - responses: - "200": - description: A singular Certificate Authority (CA) resource - schema: - $ref: '#/definitions/detailCaEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a CA by id. Requires admin access. - tags: - - Certificate Authority - summary: Update all fields on a CA - operationId: updateCa - parameters: - - description: A CA update object - name: ca - in: body - required: true - schema: - $ref: '#/definitions/caUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: | - Delete a CA by id. Deleting a CA will delete its associated certificate authenticators. This can make it - impossible for identities to authenticate if they no longer have any valid authenticators. Requires admin access. - tags: - - Certificate Authority - summary: Delete a CA - operationId: deleteCa - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update only the supplied fields on a CA by id. Requires admin access. - tags: - - Certificate Authority - summary: Update the supplied fields on a CA - operationId: patchCa - parameters: - - description: A CA patch object - name: ca - in: body - required: true - schema: - $ref: '#/definitions/caPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /cas/{id}/jwt: - get: - security: - - ztSession: [] - description: | - For CA auto enrollment, the enrollment JWT is static and provided on each CA resource. This endpoint provides - the jwt as a text response. - produces: - - application/jwt - tags: - - Certificate Authority - summary: Retrieve the enrollment JWT for a CA - operationId: getCaJwt - responses: - "200": - description: The result is the JWT text to validate the CA - schema: - type: string - examples: - application/jwt: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbSI6ImNhIiwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6MTI - 4MC8ifQ.Ot6lhNBSOw8ygHytdI5l7WDf9EWadOj44UPvJ0c-8mJ54fClWM3uMZrAHSSfV6KmOSZOeBBJe4VlNyoD-_MOECP0BzYSnSQP3E - zJb0VlM-fFmGcKNGW157icyZNISfO43JL_Lw2QPBzTgikqSIj9eZnocC3BeAmZCHsVznnLfHWqDldcmuxnu-5MNOSrWV1x9iVcgLFlLHXK - 2PLA4qIiZmlQTrQjpHJmUaoJ07mnj8hMKzxB3wBG8kpazjEo7HDRCO06aBH4eqFgf_l0iT8Dzcb31jquWMGUoSXPhf4lVJh_FiNcR1wVx- - UiHLbG5h23Aqf1UJF-F38rc1FElKz0Zg - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /cas/{id}/verify: - post: - security: - - ztSession: [] - description: | - Allows a CA to become verified by submitting a certificate in PEM format that has been signed by the target CA. - The common name on the certificate must match the verificationToken property of the CA. Unverfieid CAs can not - be used for enrollment/authentication. Requires admin access. - consumes: - - text/plain - tags: - - Certificate Authority - summary: Verify a CA - operationId: verifyCa - parameters: - - description: A PEM formatted certificate signed by the target CA with the - common name matching the CA's validationToken - name: certificate - in: body - required: true - schema: - type: string - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /config-types: - get: - security: - - ztSession: [] - description: | - Retrieves a list of config-type resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Config - summary: List config-types - operationId: listConfigTypes - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of config-types - schema: - $ref: '#/definitions/listConfigTypesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - tags: - - Config - summary: Create a config-type. Requires admin access. - operationId: createConfigType - parameters: - - description: A config-type to create - name: configType - in: body - required: true - schema: - $ref: '#/definitions/configTypeCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /config-types/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single config-type by id. Requires admin access. - tags: - - Config - summary: Retrieves a single config-type - operationId: detailConfigType - responses: - "200": - description: A singular config-type resource - schema: - $ref: '#/definitions/detailConfigTypeEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a config-type by id. Requires admin access. - tags: - - Config - summary: Update all fields on a config-type - operationId: updateConfigType - parameters: - - description: A config-type update object - name: configType - in: body - required: true - schema: - $ref: '#/definitions/configTypeUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a config-type by id. Removing a configuration type that - are in use will result in a 409 conflict HTTP status code and error. All configurations - of a type must be removed first. - tags: - - Config - summary: Delete a config-type - operationId: deleteConfigType - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a config-type. Requires admin access. - tags: - - Config - summary: Update the supplied fields on a config-type - operationId: patchConfigType - parameters: - - description: A config-type patch object - name: configType - in: body - required: true - schema: - $ref: '#/definitions/configTypePatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /config-types/{id}/configs: - get: - security: - - ztSession: [] - description: Lists the configs associated to a config-type. Requires admin access. - tags: - - Config - summary: Lists the configs of a specific config-type - operationId: listConfigsForConfigType - responses: - "200": - description: A list of configs - schema: - $ref: '#/definitions/listConfigsEnvelope' - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /configs: - get: - security: - - ztSession: [] - description: | - Retrieves a list of config resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Config - summary: List configs - operationId: listConfigs - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of configs - schema: - $ref: '#/definitions/listConfigsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a config resource. Requires admin access. - tags: - - Config - summary: Create a config resource - operationId: createConfig - parameters: - - description: A config to create - name: config - in: body - required: true - schema: - $ref: '#/definitions/configCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /configs/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single config by id. Requires admin access. - tags: - - Config - summary: Retrieves a single config - operationId: detailConfig - responses: - "200": - description: A singular config resource - schema: - $ref: '#/definitions/detailConfigEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a config by id. Requires admin access. - tags: - - Config - summary: Update all fields on a config - operationId: updateConfig - parameters: - - description: A config update object - name: config - in: body - required: true - schema: - $ref: '#/definitions/configUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a config by id. Requires admin access. - tags: - - Config - summary: Delete a config - operationId: deleteConfig - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a config. Requires admin access. - tags: - - Config - summary: Update the supplied fields on a config - operationId: patchConfig - parameters: - - description: A config patch object - name: config - in: body - required: true - schema: - $ref: '#/definitions/configPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /current-api-session: - get: - security: - - ztSession: [] - description: Retrieves the API session that was used to issue the current request - tags: - - Current API Session - summary: Return the current API session - operationId: getCurrentAPISession - responses: - "200": - description: The API session associated with the session used to issue the - request - schema: - $ref: '#/definitions/currentApiSessionDetailEnvelope' - examples: - default: - data: - _links: - self: - href: ./current-api-session - configTypes: [] - createdAt: "2020-03-09T19:03:49.1883693Z" - expiresAt: "2020-03-09T19:34:21.5600897Z" - id: 27343114-b44f-406e-9981-f3c4f2f28d54 - identity: - _links: - self: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d - id: 66352d7b-a6b2-4ce9-85bb-9f18e318704d - name: Default Admin - urlName: identities - tags: - - userField1: 123 - - userField2: asdf - token: 28bb0ed2-0577-4632-ae70-d17106b92871 - updatedAt: "2020-03-09T19:04:21.5600897Z" - meta: {} - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Terminates the current API session - tags: - - Current API Session - summary: Logout - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity: - get: - security: - - ztSession: [] - description: Returns the identity associated with the API sessions used to issue - the current request - tags: - - Current Identity - summary: Return the current identity - operationId: getCurrentIdentity - responses: - "200": - description: The identity associated with the API Session used to issue - the request - schema: - $ref: '#/definitions/currentIdentityDetailEnvelope' - examples: - default: - data: - _links: - edge-router-policies: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d/edge-routers - self: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d - service-policies: - href: ./identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d/identities - authenticators: - updb: - username: admin - createdAt: "2020-01-13T16:38:13.6854788Z" - enrollment: {} - id: 66352d7b-a6b2-4ce9-85bb-9f18e318704d - isAdmin: true - isDefaultAdmin: true - name: Default Admin - roleAttributes: [] - tags: {} - type: - _links: - self: - href: ./identity-types/User - id: User - name: User - urlName: identity-types - updatedAt: "2020-01-13T16:38:13.6854788Z" - meta: {} - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/authenticators: - get: - security: - - ztSession: [] - description: Retrieves a list of authenticators assigned to the current API - session's identity; supports filtering, sorting, and pagination. - tags: - - Current API Session - summary: List authenticators for the current identity - operationId: listCurrentIdentityAuthenticators - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of authenticators - schema: - $ref: '#/definitions/listAuthenticatorsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/authenticators/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single authenticator by id. Will only show authenticators - assigned to the API session's identity. - tags: - - Current API Session - summary: Retrieve an authenticator for the current identity - operationId: detailCurrentIdentityAuthenticator - responses: - "200": - description: A singular authenticator resource - schema: - $ref: '#/definitions/detailAuthenticatorEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: | - Update all fields on an authenticator by id. Will only update authenticators assigned to the API session's - identity. - tags: - - Current API Session - summary: Update all fields on an authenticator of this identity - operationId: updateCurrentIdentityAuthenticator - parameters: - - description: An authenticator put object - name: authenticator - in: body - required: true - schema: - $ref: '#/definitions/authenticatorUpdateWithCurrent' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: | - Update the supplied fields on an authenticator by id. Will only update authenticators assigned to the API - session's identity. - tags: - - Current API Session - summary: Update the supplied fields on an authenticator of this identity - operationId: patchCurrentIdentityAuthenticator - parameters: - - description: An authenticator patch object - name: authenticator - in: body - required: true - schema: - $ref: '#/definitions/authenticatorPatchWithCurrent' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /current-identity/authenticators/{id}/extend: - post: - security: - - ztSession: [] - description: |- - This endpoint only functions for certificates issued by the controller. 3rd party certificates are not handled. - Allows an identity to extend its certificate's expiration date by using its current and valid client certificate to submit a CSR. This CSR may be passed in using a new private key, thus allowing private key rotation. - The response from this endpoint is a new client certificate which the client must be verified via the /authenticators/{id}/extend-verify endpoint. - After verification is completion any new connections must be made with new certificate. Prior to verification the old client certificate remains active. - tags: - - Current API Session - - Enroll - - Extend Enrollment - summary: Allows the current identity to recieve a new certificate associated - with a certificate based authenticator - operationId: extendCurrentIdentityAuthenticator - parameters: - - name: extend - in: body - required: true - schema: - $ref: '#/definitions/identityExtendEnrollmentRequest' - responses: - "200": - description: A response containg the identity's new certificate - schema: - $ref: '#/definitions/identityExtendEnrollmentEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /current-identity/authenticators/{id}/extend-verify: - post: - security: - - ztSession: [] - description: |- - After submitting a CSR for a new client certificate the resulting public certificate must be re-submitted to this endpoint to verify receipt. - After receipt, the new client certificate must be used for new authentication requests. - tags: - - Current API Session - - Enroll - - Extend Enrollment - summary: Allows the current identity to validate reciept of a new client certificate - operationId: extendVerifyCurrentIdentityAuthenticator - parameters: - - name: extend - in: body - required: true - schema: - $ref: '#/definitions/identityExtendValidateEnrollmentRequest' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /current-identity/mfa: - get: - security: - - ztSession: [] - description: | - Returns details about the current MFA enrollment. If enrollment has not been completed it will return the current MFA configuration details necessary to complete a `POST /current-identity/mfa/verify`. - tags: - - Current Identity - - MFA - summary: Returns the current status of MFA enrollment - operationId: detailMfa - responses: - "200": - description: The details of an MFA enrollment - schema: - $ref: '#/definitions/detailMfaEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: | - Allows authenticator based MFA enrollment. If enrollment has already been completed, it must be disabled before attempting to re-enroll. Subsequent enrollment request is completed via `POST /current-identity/mfa/verify` - tags: - - Current Identity - - MFA - summary: Initiate MFA enrollment - operationId: enrollMfa - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The identity is already enrolled in MFA - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: null - cause: null - causeMessage: "" - code: ALREADY_MFA_ENROLLED - message: The identity is already enrolled in MFA - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: | - Disable MFA for the current identity. Requires a current valid time based one time password if MFA enrollment has been completed. If not, code should be an empty string. If one time passwords are not available and admin account can be used to remove MFA from the identity via `DELETE /identities//mfa`. - tags: - - Current Identity - - MFA - summary: Disable MFA for the current identity - operationId: deleteMfa - parameters: - - description: An MFA validation request - name: mfaValidation - in: body - schema: - $ref: '#/definitions/mfaCode' - - type: string - name: mfa-validation-code - in: header - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/mfa/qr-code: - get: - security: - - ztSession: [] - description: | - Shows an QR code image for unverified MFA enrollments. 404s if the MFA enrollment has been completed or not started. - produces: - - image/png - - application/json - tags: - - Current Identity - - MFA - summary: Show a QR code for unverified MFA enrollments - operationId: detailMfaQrCode - responses: - "200": - description: OK - "404": - description: No MFA enrollment or MFA enrollment is completed - /current-identity/mfa/recovery-codes: - get: - security: - - ztSession: [] - description: | - Allows the viewing of recovery codes of an MFA enrollment. Requires a current valid time based one time password to interact with. Available after a completed MFA enrollment. - tags: - - Current Identity - - MFA - summary: For a completed MFA enrollment view the current recovery codes - operationId: detailMfaRecoveryCodes - parameters: - - description: An MFA validation request - name: mfaValidation - in: body - schema: - $ref: '#/definitions/mfaCode' - - type: string - name: mfa-validation-code - in: header - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: | - Allows regeneration of recovery codes of an MFA enrollment. Requires a current valid time based one time password to interact with. Available after a completed MFA enrollment. This replaces all existing recovery codes. - tags: - - Current Identity - - MFA - summary: For a completed MFA enrollment regenerate the recovery codes - operationId: createMfaRecoveryCodes - parameters: - - description: An MFA validation request - name: mfaValidation - in: body - required: true - schema: - $ref: '#/definitions/mfaCode' - responses: - "200": - description: The recovery codes of an MFA enrollment - schema: - $ref: '#/definitions/detailMfaRecoveryCodesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /current-identity/mfa/verify: - post: - security: - - ztSession: [] - description: | - Completes MFA enrollment by accepting a time based one time password as verification. Called after MFA enrollment has been initiated via `POST /current-identity/mfa`. - tags: - - Current Identity - - MFA - summary: Complete MFA enrollment by verifying a time based one time token - operationId: verifyMfa - parameters: - - description: An MFA validation request - name: mfaValidation - in: body - required: true - schema: - $ref: '#/definitions/mfaCode' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /database/check-data-integrity: - post: - security: - - ztSession: [] - description: Starts a data integrity scan on the datastore. Requires admin access. - Only once instance may run at a time, including runs of fixDataIntegrity. - tags: - - Database - summary: Starts a data integrity scan on the datastore - operationId: checkDataIntegrity - responses: - "202": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "429": - description: The resource requested is rate limited and the rate limit has - been exceeded - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - causeMessage: you have hit a rate limit in the requested operation - code: RATE_LIMITED - message: The resource is rate limited and the rate limit has been - exceeded. Please try again later - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /database/data-integrity-results: - get: - security: - - ztSession: [] - description: Returns any results found from in-progress integrity checks. Requires - admin access. - tags: - - Database - summary: Returns any results found from in-progress integrity checks - operationId: dataIntegrityResults - responses: - "200": - description: A list of data integrity issues found - schema: - $ref: '#/definitions/dataIntegrityCheckResultEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /database/fix-data-integrity: - post: - security: - - ztSession: [] - description: Runs a data integrity scan on the datastore, attempts to fix any - issues it can, and returns any found issues. Requires admin access. Only once - instance may run at a time, including runs of checkDataIntegrity. - tags: - - Database - summary: Runs a data integrity scan on the datastore, attempts to fix any issues - it can and returns any found issues - operationId: fixDataIntegrity - responses: - "202": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "429": - description: The resource requested is rate limited and the rate limit has - been exceeded - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - causeMessage: you have hit a rate limit in the requested operation - code: RATE_LIMITED - message: The resource is rate limited and the rate limit has been - exceeded. Please try again later - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /database/snapshot: - post: - security: - - ztSession: [] - description: Create a new database snapshot. Requires admin access. - tags: - - Database - summary: Create a new database snapshot - operationId: createDatabaseSnapshot - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "429": - description: The resource requested is rate limited and the rate limit has - been exceeded - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - causeMessage: you have hit a rate limit in the requested operation - code: RATE_LIMITED - message: The resource is rate limited and the rate limit has been - exceeded. Please try again later - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /edge-router-policies: - get: - security: - - ztSession: [] - description: | - Retrieves a list of edge router policy resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Edge Router Policy - summary: List edge router policies - operationId: listEdgeRouterPolicies - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of edge router policies - schema: - $ref: '#/definitions/listEdgeRouterPoliciesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create an edge router policy resource. Requires admin access. - tags: - - Edge Router Policy - summary: Create an edge router policy resource - operationId: createEdgeRouterPolicy - parameters: - - description: An edge router policy to create - name: policy - in: body - required: true - schema: - $ref: '#/definitions/edgeRouterPolicyCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /edge-router-policies/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single edge router policy by id. Requires admin access. - tags: - - Edge Router Policy - summary: Retrieves a single edge router policy - operationId: detailEdgeRouterPolicy - responses: - "200": - description: A single edge router policy - schema: - $ref: '#/definitions/detailEdgeRouterPolicyEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on an edge router policy by id. Requires admin - access. - tags: - - Edge Router Policy - summary: Update all fields on an edge router policy - operationId: updateEdgeRouterPolicy - parameters: - - description: An edge router policy update object - name: policy - in: body - required: true - schema: - $ref: '#/definitions/edgeRouterPolicyUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete an edge router policy by id. Requires admin access. - tags: - - Edge Router Policy - summary: Delete an edge router policy - operationId: deleteEdgeRouterPolicy - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on an edge router policy. Requires admin - access. - tags: - - Edge Router Policy - summary: Update the supplied fields on an edge router policy - operationId: patchEdgeRouterPolicy - parameters: - - description: An edge router policy patch object - name: policy - in: body - required: true - schema: - $ref: '#/definitions/edgeRouterPolicyPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /edge-router-policies/{id}/edge-routers: - get: - security: - - ztSession: [] - description: | - Retrieves a list of edge routers an edge router policy resources affects; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Edge Router Policy - summary: List edge routers a policy affects - operationId: listEdgeRouterPolicyEdgeRouters - responses: - "200": - description: A list of edge routers - schema: - $ref: '#/definitions/listEdgeRoutersEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /edge-router-policies/{id}/identities: - get: - security: - - ztSession: [] - description: | - Retrieves a list of identities an edge router policy resources affects; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Edge Router Policy - summary: List identities an edge router policy affects - operationId: listEdgeRouterPolicyIdentities - responses: - "200": - description: A list of identities - schema: - $ref: '#/definitions/listIdentitiesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /edge-router-role-attributes: - get: - security: - - ztSession: [] - description: | - Retrieves a list of role attributes in use by edge routers; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Role Attributes - summary: List role attributes in use by edge routers - operationId: listEdgeRouterRoleAttributes - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of role attributes - schema: - $ref: '#/definitions/listRoleAttributesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /edge-routers: - get: - security: - - ztSession: [] - description: | - Retrieves a list of edge router resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Edge Router - summary: List edge routers - operationId: listEdgeRouters - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - - type: array - items: - type: string - collectionFormat: multi - name: roleFilter - in: query - - type: string - name: roleSemantic - in: query - responses: - "200": - description: A list of edge routers - schema: - $ref: '#/definitions/listEdgeRoutersEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a edge router resource. Requires admin access. - tags: - - Edge Router - summary: Create an edge router - operationId: createEdgeRouter - parameters: - - description: A edge router to create - name: edgeRouter - in: body - required: true - schema: - $ref: '#/definitions/edgeRouterCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /edge-routers/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single edge router by id. Requires admin access. - tags: - - Edge Router - summary: Retrieves a single edge router - operationId: detailEdgeRouter - responses: - "200": - description: A singular edge router resource - schema: - $ref: '#/definitions/detailedEdgeRouterEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on an edge router by id. Requires admin access. - tags: - - Edge Router - summary: Update all fields on an edge router - operationId: updateEdgeRouter - parameters: - - description: An edge router update object - name: edgeRouter - in: body - required: true - schema: - $ref: '#/definitions/edgeRouterUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete an edge router by id. Requires admin access. - tags: - - Edge Router - summary: Delete an edge router - operationId: deleteEdgeRouter - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on an edge router. Requires admin access. - tags: - - Edge Router - summary: Update the supplied fields on an edge router - operationId: patchEdgeRouter - parameters: - - description: An edge router patch object - name: edgeRouter - in: body - required: true - schema: - $ref: '#/definitions/edgeRouterPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /edge-routers/{id}/edge-router-policies: - get: - security: - - ztSession: [] - description: Retrieves a list of edge router policies that apply to the specified - edge router. - tags: - - Edge Router - summary: List the edge router policies that affect an edge router - operationId: listEdgeRouterEdgeRouterPolicies - responses: - "200": - description: A list of edge router policies - schema: - $ref: '#/definitions/listEdgeRouterPoliciesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /edge-routers/{id}/identities: - get: - security: - - ztSession: [] - description: | - Retrieves a list of identities that may access services via the given edge router. Supports filtering, sorting, and pagination. Requires admin access. - tags: - - Edge Router - summary: List associated identities - operationId: listEdgeRouterIdentities - responses: - "200": - description: A list of identities - schema: - $ref: '#/definitions/listIdentitiesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /edge-routers/{id}/re-enroll: - post: - security: - - ztSession: [] - description: | - Removes current certificate based authentication mechanisms and reverts the edge router into a state where enrollment must be performed. - The router retains all other properties and associations. If the router is currently connected, it will be disconnected and any - attemps to reconnect will fail until the enrollment process is completed with the newly generated JWT. - - If the edge router has an existing outstanding enrollment JWT it will be replaced. The previous JWT will no longer be usable to - complete the enrollment process. - tags: - - Edge Router - summary: Re-enroll an edge router - operationId: reEnrollEdgeRouter - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /edge-routers/{id}/service-edge-router-policies: - get: - security: - - ztSession: [] - description: Retrieves a list of service policies policies that apply to the - specified edge router. - tags: - - Edge Router - summary: List the service policies that affect an edge router - operationId: listEdgeRouterServiceEdgeRouterPolicies - responses: - "200": - description: A list of service policies - schema: - $ref: '#/definitions/listServicePoliciesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /edge-routers/{id}/services: - get: - security: - - ztSession: [] - description: | - Retrieves a list of services that may be accessed via the given edge router. Supports filtering, sorting, and pagination. Requires admin access. - tags: - - Edge Router - summary: List associated services - operationId: listEdgeRouterServices - responses: - "200": - description: A list of services - schema: - $ref: '#/definitions/listServicesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /enrollments: - get: - security: - - ztSession: [] - description: | - Retrieves a list of outstanding enrollments; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Enrollment - summary: List outstanding enrollments - operationId: listEnrollments - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of enrollments - schema: - $ref: '#/definitions/listEnrollmentsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Creates a new OTT, OTTCA, or UPDB enrollment for a specific identity. - If an enrollment of the same type is already outstanding the request will - fail with a 409 conflict. If desired, an existing enrollment can be refreshed - by `enrollments/:id/refresh` or deleted. - tags: - - Enrollment - summary: Create an outstanding enrollment for an identity - operationId: createEnrollment - parameters: - - description: An enrollment to create - name: enrollment - in: body - required: true - schema: - $ref: '#/definitions/enrollmentCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The request could not be completed due to a conflict of configuration - or state - schema: - $ref: '#/definitions/apiErrorEnvelope' - /enrollments/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single outstanding enrollment by id. Requires admin - access. - tags: - - Enrollment - summary: Retrieves an outstanding enrollment - operationId: detailEnrollment - responses: - "200": - description: A singular enrollment resource - schema: - $ref: '#/definitions/detailEnrollmentEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete an outstanding enrollment by id. Requires admin access. - tags: - - Enrollment - summary: Delete an outstanding enrollment - operationId: deleteEnrollment - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /enrollments/{id}/refresh: - post: - security: - - ztSession: [] - description: For expired or unexpired enrollments, reset the expiration window. - A new JWT will be generated and must be used for the enrollment. - tags: - - Enrollment - summary: Refreshes an enrollment record's expiration window - operationId: refreshEnrollment - parameters: - - description: An enrollment refresh request - name: refresh - in: body - required: true - schema: - $ref: '#/definitions/enrollmentRefresh' - responses: - "200": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /external-jwt-signers: - get: - security: - - ztSession: [] - description: Retrieves a list of external JWT signers for authentication - tags: - - External JWT Signer - summary: List External JWT Signers - operationId: listExternalJwtSigners - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of External JWT Signers - schema: - $ref: '#/definitions/listExternalJwtSignersEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Creates an External JWT Signer. Requires admin access. - tags: - - External JWT Signer - summary: Creates an External JWT Signer - operationId: createExternalJwtSigner - parameters: - - description: An External JWT Signer to create - name: externalJwtSigner - in: body - required: true - schema: - $ref: '#/definitions/externalJwtSignerCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /external-jwt-signers/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single External JWT Signer by id. Requires admin access. - tags: - - External JWT Signer - summary: Retrieves a single External JWT Signer - operationId: detailExternalJwtSigner - responses: - "200": - description: A singular External JWT Signer resource - schema: - $ref: '#/definitions/detailExternalJwtSignerEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on an External JWT Signer by id. Requires admin - access. - tags: - - External JWT Signer - summary: Update all fields on an External JWT Signer - operationId: updateExternalJwtSigner - parameters: - - description: An External JWT Signer update object - name: externalJwtSigner - in: body - required: true - schema: - $ref: '#/definitions/externalJwtSignerUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: | - Delete an External JWT Signer by id. Requires admin access. - tags: - - External JWT Signer - summary: Delete an External JWT Signer - operationId: deleteExternalJwtSigner - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update only the supplied fields on an External JWT Signer by id. - Requires admin access. - tags: - - External JWT Signer - summary: Update the supplied fields on an External JWT Signer - operationId: patchExternalJwtSigner - parameters: - - description: An External JWT Signer patch object - name: externalJwtSigner - in: body - required: true - schema: - $ref: '#/definitions/externalJwtSignerPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities: - get: - security: - - ztSession: [] - description: | - Retrieves a list of identity resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Identity - summary: List identities - operationId: listIdentities - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - - type: array - items: - type: string - collectionFormat: multi - name: roleFilter - in: query - - type: string - name: roleSemantic - in: query - responses: - "200": - description: A list of identities - schema: - $ref: '#/definitions/listIdentitiesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create an identity resource. Requires admin access. - tags: - - Identity - summary: Create an identity resource - operationId: createIdentity - parameters: - - description: An identity to create - name: identity - in: body - required: true - schema: - $ref: '#/definitions/identityCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /identities/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single identity by id. Requires admin access. - tags: - - Identity - summary: Retrieves a single identity - operationId: detailIdentity - responses: - "200": - description: A single identity - schema: - $ref: '#/definitions/detailIdentityEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on an identity by id. Requires admin access. - tags: - - Identity - summary: Update all fields on an identity - operationId: updateIdentity - parameters: - - description: An identity update object - name: identity - in: body - required: true - schema: - $ref: '#/definitions/identityUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete an identity by id. Requires admin access. - tags: - - Identity - summary: Delete an identity - operationId: deleteIdentity - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on an identity. Requires admin access. - tags: - - Identity - summary: Update the supplied fields on an identity - operationId: patchIdentity - parameters: - - description: An identity patch object - name: identity - in: body - required: true - schema: - $ref: '#/definitions/identityPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/authenticators: - get: - security: - - ztSession: [] - description: | - Returns a list of authenticators associated to the identity specified - tags: - - Identity - summary: Retrieve the current authenticators of a specific identity - operationId: getIdentityAuthenticators - responses: - "200": - description: A list of authenticators - schema: - $ref: '#/definitions/listAuthenticatorsEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/disable: - post: - security: - - ztSession: [] - description: | - Allows an admin disable an identity for a set amount of time or indefinitely. - tags: - - Identity - summary: Set an identity as disabled - operationId: disableIdentity - parameters: - - description: Disable parameters - name: disable - in: body - required: true - schema: - $ref: '#/definitions/disableParams' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/edge-router-policies: - get: - security: - - ztSession: [] - description: Retrieves a list of edge router policies that apply to the specified - identity. - tags: - - Identity - summary: List the edge router policies that affect an identity - operationId: listIdentitysEdgeRouterPolicies - responses: - "200": - description: A list of edge router policies - schema: - $ref: '#/definitions/listEdgeRouterPoliciesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/edge-routers: - get: - security: - - ztSession: [] - description: | - Retrieves a list of edge-routers that the given identity may use to access services. Supports filtering, sorting, and pagination. Requires admin access. - tags: - - Identity - summary: List accessible edge-routers - operationId: listIdentityEdgeRouters - responses: - "200": - description: A list of edge routers - schema: - $ref: '#/definitions/listEdgeRoutersEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/enable: - post: - security: - - ztSession: [] - description: | - Allows an admin to remove disabled statuses from an identity. - tags: - - Identity - summary: Clears all disabled state from an identity - operationId: enableIdentity - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/enrollments: - get: - security: - - ztSession: [] - description: | - Returns a list of enrollments associated to the identity specified - tags: - - Identity - summary: Retrieve the current enrollments of a specific identity - operationId: getIdentityEnrollments - responses: - "200": - description: A list of enrollments - schema: - $ref: '#/definitions/listEnrollmentsEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/failed-service-requests: - get: - security: - - ztSession: [] - description: | - Returns a list of service session requests that failed due to posture checks. The entries will contain - every policy that was verified against and every failed check in each policy. Each check will include - the historical posture data and posture check configuration. - tags: - - Identity - summary: Retrieve a list of the most recent service failure requests due to - posture checks - operationId: getIdentityFailedServiceRequests - responses: - "200": - description: Returns a list of service request failures - schema: - $ref: '#/definitions/failedServiceRequestEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/mfa: - delete: - security: - - ztSession: [] - description: | - Allows an admin to remove MFA enrollment from a specific identity. Requires admin. - tags: - - Identity - - MFA - summary: Remove MFA from an identitity - operationId: removeIdentityMfa - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/policy-advice/{serviceId}: - get: - security: - - ztSession: [] - description: | - Analyzes policies to see if the given identity should be able to dial or bind the given service. | - Will check services policies to see if the identity can access the service. Will check edge router policies | - to check if the identity and service have access to common edge routers so that a connnection can be made. | - Will also check if at least one edge router is on-line. Requires admin access. - tags: - - Identity - summary: Analyze policies relating the given identity and service - operationId: getIdentityPolicyAdvice - responses: - "200": - description: Returns the document that represents the policy advice - schema: - $ref: '#/definitions/getIdentityPolicyAdviceEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - - type: string - description: The id of a service - name: serviceId - in: path - required: true - /identities/{id}/posture-data: - get: - security: - - ztSession: [] - description: | - Returns a nested map data represeting the posture data of the identity. - This data should be considered volatile. - tags: - - Identity - summary: Retrieve the curent posture data for a specific identity. - operationId: getIdentityPostureData - responses: - "200": - description: Returns the document that represents posture data - schema: - $ref: '#/definitions/postureDataEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/service-configs: - get: - security: - - ztSession: [] - description: Retrieves a list of service configs associated to a specific identity - tags: - - Identity - summary: List the service configs associated a specific identity - operationId: listIdentitysServiceConfigs - responses: - "200": - description: A list of service configs - schema: - $ref: '#/definitions/listServiceConfigsEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Associate service configs to a specific identity - tags: - - Identity - summary: Associate service configs for a specific identity - operationId: associateIdentitysServiceConfigs - parameters: - - description: A service config patch object - name: serviceConfigs - in: body - required: true - schema: - $ref: '#/definitions/serviceConfigsAssignList' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Remove service configs from a specific identity - tags: - - Identity - summary: Remove associated service configs from a specific identity - operationId: disassociateIdentitysServiceConfigs - parameters: - - description: An array of service and config id pairs to remove - name: serviceConfigIdPairs - in: body - schema: - $ref: '#/definitions/serviceConfigsAssignList' - responses: - "200": - description: Base empty response - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/service-policies: - get: - security: - - ztSession: [] - description: Retrieves a list of service policies that apply to the specified - identity. - tags: - - Identity - summary: List the service policies that affect an identity - operationId: listIdentityServicePolicies - responses: - "200": - description: A list of service policies - schema: - $ref: '#/definitions/listServicePoliciesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/services: - get: - security: - - ztSession: [] - description: | - Retrieves a list of services that the given identity has access to. Supports filtering, sorting, and pagination. Requires admin access. - tags: - - Identity - summary: List accessible services - operationId: listIdentityServices - responses: - "200": - description: A list of edge routers - schema: - $ref: '#/definitions/listEdgeRoutersEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identities/{id}/trace: - put: - security: - - ztSession: [] - description: | - Allows an admin to enable/disable data flow tracing for an identity - tags: - - Identity - - Tracing - summary: Enable/disable data flow tracing for an identity - operationId: updateIdentityTracing - parameters: - - description: A traceSpec object - name: traceSpec - in: body - required: true - schema: - $ref: '#/definitions/traceSpec' - responses: - "200": - description: Returns the document that represents the trace state - schema: - $ref: '#/definitions/traceDetailEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /identity-role-attributes: - get: - security: - - ztSession: [] - description: | - Retrieves a list of role attributes in use by identities; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Role Attributes - summary: List role attributes in use by identities - operationId: listIdentityRoleAttributes - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of role attributes - schema: - $ref: '#/definitions/listRoleAttributesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /identity-types: - get: - security: - - ztSession: [] - description: | - Retrieves a list of identity types; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Identity - summary: List available identity types - operationId: listIdentityTypes - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of identity types - schema: - $ref: '#/definitions/listIdentityTypesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /identity-types/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single identity type by id. Requires admin access. - tags: - - Identity - summary: Retrieves a identity type - operationId: detailIdentityType - responses: - "200": - description: A single identity type - schema: - $ref: '#/definitions/detailIdentityTypeEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /posture-check-types: - get: - security: - - ztSession: [] - description: | - Retrieves a list of posture check types - produces: - - application/json; charset=utf-8 - tags: - - Posture Checks - summary: List a subset of posture check types - operationId: listPostureCheckTypes - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of posture check types - schema: - $ref: '#/definitions/listPostureCheckTypesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /posture-check-types/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single posture check type by id - tags: - - Posture Checks - summary: Retrieves a single posture check type - operationId: detailPostureCheckType - responses: - "200": - description: Retrieves a singular posture check type by id - schema: - $ref: '#/definitions/detailPostureCheckTypeEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /posture-checks: - get: - security: - - ztSession: [] - description: | - Retrieves a list of posture checks - produces: - - application/json; charset=utf-8 - tags: - - Posture Checks - summary: List a subset of posture checks - operationId: listPostureChecks - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - - type: array - items: - type: string - collectionFormat: multi - name: roleFilter - in: query - - type: string - name: roleSemantic - in: query - responses: - "200": - description: A list of posture checks - schema: - $ref: '#/definitions/listPostureCheckEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Creates a Posture Checks - tags: - - Posture Checks - summary: Creates a Posture Checks - operationId: createPostureCheck - parameters: - - description: A Posture Check to create - name: postureCheck - in: body - required: true - schema: - $ref: '#/definitions/postureCheckCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /posture-checks/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single Posture Checks by id - tags: - - Posture Checks - summary: Retrieves a single Posture Checks - operationId: detailPostureCheck - responses: - "200": - description: Retrieves a singular posture check by id - schema: - $ref: '#/definitions/detailPostureCheckEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a Posture Checks by id - tags: - - Posture Checks - summary: Update all fields on a Posture Checks - operationId: updatePostureCheck - parameters: - - description: A Posture Check update object - name: postureCheck - in: body - required: true - schema: - $ref: '#/definitions/postureCheckUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Deletes and Posture Checks by id - tags: - - Posture Checks - summary: Deletes an Posture Checks - operationId: deletePostureCheck - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "403": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update only the supplied fields on a Posture Checks by id - tags: - - Posture Checks - summary: Update the supplied fields on a Posture Checks - operationId: patchPostureCheck - parameters: - - description: A Posture Check patch object - name: postureCheck - in: body - required: true - schema: - $ref: '#/definitions/postureCheckPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /routers: - get: - security: - - ztSession: [] - description: | - Retrieves a list of router resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Router - summary: List routers - operationId: listRouters - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of specifications - schema: - $ref: '#/definitions/listRoutersEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a router resource. Requires admin access. - tags: - - Router - summary: Create a router resource - operationId: createRouter - parameters: - - description: A router to create - name: router - in: body - required: true - schema: - $ref: '#/definitions/routerCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /routers/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single router by id. Requires admin access. - tags: - - Router - summary: Retrieves a single router - operationId: detailRouter - responses: - "200": - description: A single router - schema: - $ref: '#/definitions/detailRouterEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a router by id. Requires admin access. - tags: - - Router - summary: Update all fields on a router - operationId: updateRouter - parameters: - - description: A router update object - name: router - in: body - required: true - schema: - $ref: '#/definitions/routerUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a router by id. Requires admin access. - tags: - - Router - summary: Delete a router - operationId: deleteRouter - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a router. Requires admin access. - tags: - - Router - summary: Update the supplied fields on a router - operationId: patchRouter - parameters: - - description: A router patch object - name: router - in: body - required: true - schema: - $ref: '#/definitions/routerPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /service-edge-router-policies: - get: - security: - - ztSession: [] - description: | - Retrieves a list of service edge router policy resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service Edge Router Policy - summary: List service edge router policies - operationId: listServiceEdgeRouterPolicies - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of service edge router policies - schema: - $ref: '#/definitions/listServiceEdgeRouterPoliciesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a service edge router policy resource. Requires admin access. - tags: - - Service Edge Router Policy - summary: Create a service edge router policy resource - operationId: createServiceEdgeRouterPolicy - parameters: - - description: A service edge router policy to create - name: policy - in: body - required: true - schema: - $ref: '#/definitions/serviceEdgeRouterPolicyCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /service-edge-router-policies/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single service edge policy by id. Requires admin access. - tags: - - Service Edge Router Policy - summary: Retrieves a single service edge policy - operationId: detailServiceEdgeRouterPolicy - responses: - "200": - description: A single service edge router policy - schema: - $ref: '#/definitions/detailServiceEdgePolicyEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a service edge policy by id. Requires admin - access. - tags: - - Service Edge Router Policy - summary: Update all fields on a service edge policy - operationId: updateServiceEdgeRouterPolicy - parameters: - - description: A service edge router policy update object - name: policy - in: body - required: true - schema: - $ref: '#/definitions/serviceEdgeRouterPolicyUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a service edge policy by id. Requires admin access. - tags: - - Service Edge Router Policy - summary: Delete a service edge policy - operationId: deleteServiceEdgeRouterPolicy - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a service edge policy. Requires admin - access. - tags: - - Service Edge Router Policy - summary: Update the supplied fields on a service edge policy - operationId: patchServiceEdgeRouterPolicy - parameters: - - description: A service edge router policy patch object - name: policy - in: body - required: true - schema: - $ref: '#/definitions/serviceEdgeRouterPolicyPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /service-edge-router-policies/{id}/edge-routers: - get: - security: - - ztSession: [] - description: List the edge routers that a service edge router policy applies - to - tags: - - Service Edge Router Policy - summary: List the edge routers that a service edge router policy applies to - operationId: listServiceEdgeRouterPolicyEdgeRouters - responses: - "200": - description: A list of edge routers - schema: - $ref: '#/definitions/listEdgeRoutersEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /service-edge-router-policies/{id}/services: - get: - security: - - ztSession: [] - description: List the services that a service edge router policy applies to - tags: - - Service Edge Router Policy - summary: List the services that a service edge router policy applies to - operationId: listServiceEdgeRouterPolicyServices - responses: - "200": - description: A list of services - schema: - $ref: '#/definitions/listServicesEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /service-policies: - get: - security: - - ztSession: [] - description: | - Retrieves a list of service policy resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service Policy - summary: List service policies - operationId: listServicePolicies - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of service policies - schema: - $ref: '#/definitions/listServicePoliciesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a service policy resource. Requires admin access. - tags: - - Service Policy - summary: Create a service policy resource - operationId: createServicePolicy - parameters: - - description: A service policy to create - name: policy - in: body - required: true - schema: - $ref: '#/definitions/servicePolicyCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /service-policies/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single service policy by id. Requires admin access. - tags: - - Service Policy - summary: Retrieves a single service policy - operationId: detailServicePolicy - responses: - "200": - description: A single service policy - schema: - $ref: '#/definitions/detailServicePolicyEnvelop' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a service policy by id. Requires admin access. - tags: - - Service Policy - summary: Update all fields on a service policy - operationId: updateServicePolicy - parameters: - - description: A service policy update object - name: policy - in: body - required: true - schema: - $ref: '#/definitions/servicePolicyUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a service policy by id. Requires admin access. - tags: - - Service Policy - summary: Delete a service policy - operationId: deleteServicePolicy - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a service policy. Requires admin - access. - tags: - - Service Policy - summary: Update the supplied fields on a service policy - operationId: patchServicePolicy - parameters: - - description: A service policy patch object - name: policy - in: body - required: true - schema: - $ref: '#/definitions/servicePolicyPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /service-policies/{id}/identities: - get: - security: - - ztSession: [] - description: | - Retrieves a list of identity resources that are affected by a service policy; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service Policy - summary: List identities a service policy affects - operationId: listServicePolicyIdentities - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of identities - schema: - $ref: '#/definitions/listIdentitiesEnvelope' - "400": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /service-policies/{id}/posture-checks: - get: - security: - - ztSession: [] - description: | - Retrieves a list of posture check resources that are affected by a service policy; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service Policy - summary: List posture check a service policy includes - operationId: listServicePolicyPostureChecks - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of posture checks - schema: - $ref: '#/definitions/listPostureCheckEnvelope' - "400": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /service-policies/{id}/services: - get: - security: - - ztSession: [] - description: | - Retrieves a list of service resources that are affected by a service policy; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service Policy - summary: List services a service policy affects - operationId: listServicePolicyServices - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of services - schema: - $ref: '#/definitions/listServicesEnvelope' - "400": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /service-role-attributes: - get: - security: - - ztSession: [] - description: | - Retrieves a list of role attributes in use by services; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Role Attributes - summary: List role attributes in use by services - operationId: listServiceRoleAttributes - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of role attributes - schema: - $ref: '#/definitions/listRoleAttributesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /services: - get: - security: - - ztSession: [] - description: | - Retrieves a list of config resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service - summary: List services - operationId: listServices - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - - type: array - items: - type: string - collectionFormat: multi - name: roleFilter - in: query - - type: string - name: roleSemantic - in: query - responses: - "200": - description: A list of services - schema: - $ref: '#/definitions/listServicesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a services resource. Requires admin access. - tags: - - Service - summary: Create a services resource - operationId: createService - parameters: - - description: A service to create - name: service - in: body - required: true - schema: - $ref: '#/definitions/serviceCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /services/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single service by id. Requires admin access. - tags: - - Service - summary: Retrieves a single service - operationId: detailService - responses: - "200": - description: A single service - schema: - $ref: '#/definitions/detailServiceEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a service by id. Requires admin access. - tags: - - Service - summary: Update all fields on a service - operationId: updateService - parameters: - - description: A service update object - name: service - in: body - required: true - schema: - $ref: '#/definitions/serviceUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a service by id. Requires admin access. - tags: - - Service - summary: Delete a service - operationId: deleteService - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a service. Requires admin access. - tags: - - Service - summary: Update the supplied fields on a service - operationId: patchService - parameters: - - description: A service patch object - name: service - in: body - required: true - schema: - $ref: '#/definitions/servicePatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /services/{id}/configs: - get: - security: - - ztSession: [] - description: | - Retrieves a list of config resources associated to a specific service; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service - summary: List configs associated to a specific service - operationId: listServiceConfig - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of configs - schema: - $ref: '#/definitions/listConfigsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /services/{id}/edge-routers: - get: - security: - - ztSession: [] - description: | - Retrieves a list of edge-routers that may be used to access the given service. Supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service - summary: List accessible edge-routers - operationId: listServiceEdgeRouters - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of edge routers - schema: - $ref: '#/definitions/listEdgeRoutersEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /services/{id}/identities: - get: - security: - - ztSession: [] - description: | - Retrieves a list of identities that have access to this service. Supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service - summary: List identities with access - operationId: listServiceIdentities - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of identities - schema: - $ref: '#/definitions/listIdentitiesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /services/{id}/service-edge-router-policies: - get: - security: - - ztSession: [] - description: | - Retrieves a list of service edge router policy resources that affect a specific service; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service - summary: List service edge router policies that affect a specific service - operationId: listServiceServiceEdgeRouterPolicies - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of service edge router policies - schema: - $ref: '#/definitions/listServiceEdgeRouterPoliciesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /services/{id}/service-policies: - get: - security: - - ztSession: [] - description: | - Retrieves a list of service policy resources that affect specific service; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Service - summary: List service policies that affect a specific service - operationId: listServiceServicePolicies - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of service policies - schema: - $ref: '#/definitions/listServicePoliciesEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /services/{id}/terminators: - get: - security: - - ztSession: [] - description: | - Retrieves a list of terminator resources that are assigned specific service; supports filtering, sorting, and pagination. - tags: - - Service - summary: List of terminators assigned to a service - operationId: listServiceTerminators - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of terminators - schema: - $ref: '#/definitions/listTerminatorsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /sessions: - get: - security: - - ztSession: [] - description: | - Retrieves a list of active sessions resources; supports filtering, sorting, and pagination. Requires admin access. - - Sessions are tied to an API session and are moved when an API session times out or logs out. Active sessions - (i.e. Ziti SDK connected to an edge router) will keep the session and API session marked as active. - tags: - - Session - summary: List sessions - operationId: listSessions - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of sessions - schema: - $ref: '#/definitions/listSessionsManagementEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /sessions/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single session by id. Requires admin access. - tags: - - Session - summary: Retrieves a single session - operationId: detailSession - responses: - "200": - description: A single session - schema: - $ref: '#/definitions/detailSessionManagementEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a session by id. Requires admin access. - tags: - - Session - summary: Delete a session - operationId: deleteSession - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /sessions/{id}/route-path: - get: - security: - - ztSession: [] - description: Retrieves a single session's route path by id. Requires admin access. - tags: - - Session - summary: Retrieves a single session's router path - operationId: detailSessionRoutePath - responses: - "200": - description: A single session's route path - schema: - $ref: '#/definitions/detailSessionRoutePathEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /specs: - get: - security: [] - description: Returns a list of spec files embedded within the controller for - consumption/documentation/code geneartion - tags: - - Informational - summary: Returns a list of API specs - operationId: listSpecs - responses: - "200": - description: A list of specifications - schema: - $ref: '#/definitions/listSpecsEnvelope' - /specs/{id}: - get: - security: [] - description: Returns single spec resource embedded within the controller for - consumption/documentation/code geneartion - tags: - - Informational - summary: Return a single spec resource - operationId: detailSpec - responses: - "200": - description: A single specification - schema: - $ref: '#/definitions/detailSpecEnvelope' - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /specs/{id}/spec: - get: - security: [] - description: Return the body of the specification (i.e. Swagger, OpenAPI 2.0, - 3.0, etc). - produces: - - text/yaml - - application/json - tags: - - Informational - summary: Returns the spec's file - operationId: detailSpecBody - responses: - "200": - description: Returns the document that represents the specification - schema: - $ref: '#/definitions/detailSpecBodyEnvelope' - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /summary: - get: - security: - - ztSession: [] - description: This endpoint is usefull for UIs that wish to display UI elements - with counts. - tags: - - Informational - summary: Returns a list of accessible resource counts - operationId: listSummary - responses: - "200": - description: Entity counts scopped to the current identitie's access - schema: - $ref: '#/definitions/listSummaryCountsEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /terminators: - get: - security: - - ztSession: [] - description: | - Retrieves a list of terminator resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Terminator - summary: List terminators - operationId: listTerminators - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of terminators - schema: - $ref: '#/definitions/listTerminatorsEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a terminator resource. Requires admin access. - tags: - - Terminator - summary: Create a terminator resource - operationId: createTerminator - parameters: - - description: A terminator to create - name: terminator - in: body - required: true - schema: - $ref: '#/definitions/terminatorCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /terminators/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single terminator by id. Requires admin access. - tags: - - Terminator - summary: Retrieves a single terminator - operationId: detailTerminator - responses: - "200": - description: A single terminator - schema: - $ref: '#/definitions/detailTerminatorEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a terminator by id. Requires admin access. - tags: - - Terminator - summary: Update all fields on a terminator - operationId: updateTerminator - parameters: - - description: A terminator update object - name: terminator - in: body - required: true - schema: - $ref: '#/definitions/terminatorUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a terminator by id. Requires admin access. - tags: - - Terminator - summary: Delete a terminator - operationId: deleteTerminator - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a terminator. Requires admin access. - tags: - - Terminator - summary: Update the supplied fields on a terminator - operationId: patchTerminator - parameters: - - description: A terminator patch object - name: terminator - in: body - required: true - schema: - $ref: '#/definitions/terminatorPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /transit-routers: - get: - security: - - ztSession: [] - description: | - Retrieves a list of router resources; supports filtering, sorting, and pagination. Requires admin access. - tags: - - Router - summary: List routers - operationId: listTransitRouters - parameters: - - type: integer - name: limit - in: query - - type: integer - name: offset - in: query - - type: string - name: filter - in: query - responses: - "200": - description: A list of specifications - schema: - $ref: '#/definitions/listRoutersEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - post: - security: - - ztSession: [] - description: Create a router resource. Requires admin access. - tags: - - Router - summary: Create a router resource - operationId: createTransitRouter - parameters: - - description: A router to create - name: router - in: body - required: true - schema: - $ref: '#/definitions/routerCreate' - responses: - "201": - description: The create request was successful and the resource has been - added at the following location - schema: - $ref: '#/definitions/createEnvelope' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - /transit-routers/{id}: - get: - security: - - ztSession: [] - description: Retrieves a single router by id. Requires admin access. - tags: - - Router - summary: Retrieves a single router - operationId: detailTransitRouter - responses: - "200": - description: A single router - schema: - $ref: '#/definitions/detailRouterEnvelope' - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - put: - security: - - ztSession: [] - description: Update all fields on a router by id. Requires admin access. - tags: - - Router - summary: Update all fields on a router - operationId: updateTransitRouter - parameters: - - description: A router update object - name: router - in: body - required: true - schema: - $ref: '#/definitions/routerUpdate' - responses: - "200": - description: The update request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - delete: - security: - - ztSession: [] - description: Delete a router by id. Requires admin access. - tags: - - Router - summary: Delete a router - operationId: deleteTransitRouter - responses: - "200": - description: The delete request was successful and the resource has been - removed - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "409": - description: The resource requested to be removed/altered cannot be as it - is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42 - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing - resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - patch: - security: - - ztSession: [] - description: Update the supplied fields on a router. Requires admin access. - tags: - - Router - summary: Update the supplied fields on a router - operationId: patchTransitRouter - parameters: - - description: A router patch object - name: router - in: body - required: true - schema: - $ref: '#/definitions/routerPatch' - responses: - "200": - description: The patch request was successful and the resource has been - altered - schema: - $ref: '#/definitions/empty' - "400": - description: The supplied request contains invalid fields or could not be - parsed (json and non-json bodies). The error's code, message, and cause - fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: - details: - context: (root) - field: (root) - property: fooField3 - field: (root) - message: '(root): fooField3 is required' - type: required - value: - fooField: abc - fooField2: def - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "401": - description: The currently supplied session does not have the correct access - rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: {} - cause: "" - causeMessage: "" - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized - or the credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - "404": - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - application/json: - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: null - causeMessage: "" - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - parameters: - - type: string - description: The id of the requested resource - name: id - in: path - required: true - /version: - get: - security: [] - tags: - - Informational - summary: Returns version information - operationId: listVersion - responses: - "200": - description: Version information for the controller - schema: - $ref: '#/definitions/listVersionEnvelope' -definitions: - apiError: - type: object - properties: - args: - $ref: '#/definitions/apiErrorArgs' - cause: - $ref: '#/definitions/apiErrorCause' - causeMessage: - type: string - code: - type: string - data: - type: object - additionalProperties: true - message: - type: string - requestId: - type: string - apiErrorArgs: - type: object - properties: - urlVars: - type: object - additionalProperties: - type: string - apiErrorCause: - allOf: - - $ref: '#/definitions/apiFieldError' - - $ref: '#/definitions/apiError' - apiErrorEnvelope: - type: object - required: - - meta - - error - properties: - error: - $ref: '#/definitions/apiError' - meta: - $ref: '#/definitions/meta' - apiFieldError: - type: object - properties: - field: - type: string - reason: - type: string - value: - description: can be any value - string, number, boolean, array or object - apiSessionDetail: - description: An API Session object - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - token - - identity - - identityId - - configTypes - - ipAddress - - authQueries - - cachedUpdatedAt - - isMfaRequired - - isMfaComplete - - authenticatorId - properties: - authQueries: - $ref: '#/definitions/authQueryList' - authenticatorId: - type: string - cachedLastActivityAt: - type: string - format: date-time - configTypes: - type: array - items: - type: string - identity: - $ref: '#/definitions/entityRef' - identityId: - type: string - ipAddress: - type: string - isMfaComplete: - type: boolean - isMfaRequired: - type: boolean - lastActivityAt: - type: string - format: date-time - token: - type: string - apiSessionList: - type: array - items: - $ref: '#/definitions/apiSessionDetail' - apiSessionPostureData: - type: object - required: - - mfa - properties: - endpointState: - $ref: '#/definitions/postureDataEndpointState' - mfa: - $ref: '#/definitions/postureDataMfa' - sdkInfo: - $ref: '#/definitions/sdkInfo' - apiVersion: - type: object - required: - - path - properties: - apiBaseUrls: - type: array - items: - type: string - path: - type: string - version: - type: string - attributes: - description: A set of strings used to loosly couple this resource to policies - type: array - items: - type: string - x-nullable: true - x-omitempty: true - authPolicyCreate: - description: A Auth Policy resource - type: object - required: - - name - - primary - - secondary - properties: - name: - type: string - primary: - $ref: '#/definitions/authPolicyPrimary' - secondary: - $ref: '#/definitions/authPolicySecondary' - tags: - $ref: '#/definitions/tags' - authPolicyDetail: - description: A Auth Policy resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - primary - - secondary - properties: - name: - type: string - primary: - $ref: '#/definitions/authPolicyPrimary' - secondary: - $ref: '#/definitions/authPolicySecondary' - authPolicyList: - description: An array of Auth Policies resources - type: array - items: - $ref: '#/definitions/authPolicyDetail' - authPolicyPatch: - description: A Auth Policy resource - type: object - properties: - name: - type: string - x-nullable: true - primary: - $ref: '#/definitions/authPolicyPrimaryPatch' - secondary: - $ref: '#/definitions/authPolicySecondaryPatch' - tags: - $ref: '#/definitions/tags' - authPolicyPrimary: - type: object - required: - - updb - - cert - - extJwt - properties: - cert: - $ref: '#/definitions/authPolicyPrimaryCert' - extJwt: - $ref: '#/definitions/authPolicyPrimaryExtJwt' - updb: - $ref: '#/definitions/authPolicyPrimaryUpdb' - authPolicyPrimaryCert: - type: object - required: - - allowed - - allowExpiredCerts - properties: - allowExpiredCerts: - type: boolean - allowed: - type: boolean - authPolicyPrimaryCertPatch: - type: object - properties: - allowExpiredCerts: - type: boolean - x-nullable: true - allowed: - type: boolean - x-nullable: true - x-nullable: true - authPolicyPrimaryExtJwt: - type: object - required: - - allowed - - allowedSigners - properties: - allowed: - type: boolean - allowedSigners: - type: array - items: - type: string - authPolicyPrimaryExtJwtPatch: - type: object - properties: - allowed: - type: boolean - x-nullable: true - allowedSigners: - type: array - items: - type: string - x-nullable: true - x-nullable: true - authPolicyPrimaryPatch: - type: object - properties: - cert: - $ref: '#/definitions/authPolicyPrimaryCertPatch' - extJwt: - $ref: '#/definitions/authPolicyPrimaryExtJwtPatch' - updb: - $ref: '#/definitions/authPolicyPrimaryUpdbPatch' - authPolicyPrimaryUpdb: - type: object - required: - - allowed - - minPasswordLength - - requireSpecialChar - - requireNumberChar - - requireMixedCase - - maxAttempts - - lockoutDurationMinutes - properties: - allowed: - type: boolean - lockoutDurationMinutes: - type: integer - maxAttempts: - type: integer - minPasswordLength: - type: integer - requireMixedCase: - type: boolean - requireNumberChar: - type: boolean - requireSpecialChar: - type: boolean - authPolicyPrimaryUpdbPatch: - type: object - properties: - allowed: - type: boolean - x-nullable: true - lockoutDurationMinutes: - type: integer - x-nullable: true - maxAttempts: - type: integer - x-nullable: true - minPasswordLength: - type: integer - x-nullable: true - requireMixedCase: - type: boolean - x-nullable: true - requireNumberChar: - type: boolean - x-nullable: true - requireSpecialChar: - type: boolean - x-nullable: true - x-nullable: true - authPolicySecondary: - type: object - required: - - requireTotp - properties: - requireExtJwtSigner: - type: string - x-nullable: true - x-omit-empty: false - requireTotp: - type: boolean - authPolicySecondaryPatch: - type: object - properties: - requireExtJwtSigner: - type: string - x-nullable: true - requireTotp: - type: boolean - x-nullable: true - x-nullable: true - authPolicyUpdate: - $ref: '#/definitions/authPolicyCreate' - authQueryDetail: - type: object - required: - - provider - properties: - format: - $ref: '#/definitions/mfaFormats' - httpMethod: - type: string - httpUrl: - type: string - maxLength: - type: integer - minLength: - type: integer - provider: - $ref: '#/definitions/mfaProviders' - typeId: - type: string - authQueryList: - type: array - items: - $ref: '#/definitions/authQueryDetail' - authenticate: - description: A generic authenticate object meant for use with the /authenticate - path. Required fields depend on authentication method. - type: object - properties: - configTypes: - $ref: '#/definitions/configTypes' - envInfo: - $ref: '#/definitions/envInfo' - password: - $ref: '#/definitions/password' - sdkInfo: - $ref: '#/definitions/sdkInfo' - username: - $ref: '#/definitions/username' - authenticatorCreate: - description: Creates an authenticator for a specific identity which can be used - for API authentication - type: object - required: - - method - - identityId - properties: - certPem: - description: The client certificate the identity will login with. Used only - for method='cert' - type: string - identityId: - description: The id of an existing identity that will be assigned this authenticator - type: string - method: - description: The type of authenticator to create; which will dictate which - properties on this object are required. - type: string - password: - description: The password the identity will login with. Used only for method='updb' - type: string - tags: - $ref: '#/definitions/tags' - username: - description: The username that the identity will login with. Used only for - method='updb' - type: string - authenticatorDetail: - description: A singular authenticator resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - method - - identityId - - identity - properties: - certPem: - type: string - fingerprint: - type: string - identity: - $ref: '#/definitions/entityRef' - identityId: - type: string - method: - type: string - username: - type: string - authenticatorList: - description: An array of authenticator resources - type: array - items: - $ref: '#/definitions/authenticatorDetail' - authenticatorPatch: - description: All of the fields on an authenticator that may be updated - type: object - properties: - password: - $ref: '#/definitions/passwordNullable' - tags: - $ref: '#/definitions/tags' - username: - $ref: '#/definitions/usernameNullable' - authenticatorPatchWithCurrent: - description: All of the fields on an authenticator that may be updated - type: object - allOf: - - $ref: '#/definitions/authenticatorPatch' - - type: object - required: - - currentPassword - properties: - currentPassword: - $ref: '#/definitions/password' - authenticatorUpdate: - description: All of the fields on an authenticator that will be updated - type: object - required: - - username - - password - properties: - password: - $ref: '#/definitions/password' - tags: - $ref: '#/definitions/tags' - username: - $ref: '#/definitions/username' - authenticatorUpdateWithCurrent: - description: All of the fields on an authenticator that will be updated - type: object - allOf: - - $ref: '#/definitions/authenticatorUpdate' - - type: object - required: - - currentPassword - properties: - currentPassword: - $ref: '#/definitions/password' - baseEntity: - description: Fields shared by all Edge API entities - type: object - required: - - id - - createdAt - - updatedAt - - _links - properties: - _links: - $ref: '#/definitions/links' - createdAt: - type: string - format: date-time - id: - type: string - tags: - $ref: '#/definitions/tags' - updatedAt: - type: string - format: date-time - caCreate: - description: A create Certificate Authority (CA) object - type: object - required: - - name - - certPem - - isAutoCaEnrollmentEnabled - - isOttCaEnrollmentEnabled - - isAuthEnabled - - identityRoles - properties: - certPem: - type: string - example: | - -----BEGIN CERTIFICATE----- - MIICUjCCAdmgAwIBAgIJANooo7NB+dZZMAoGCCqGSM49BAMCMF4xCzAJBgNVBAYT - AlVTMQswCQYDVQQIDAJOQzETMBEGA1UECgwKTmV0Rm91bmRyeTEtMCsGA1UEAwwk - TmV0Rm91bmRyeSBaaXRpIEV4dGVybmFsIEFQSSBSb290IENBMB4XDTE4MTExNTEy - NTcwOVoXDTM4MTExMDEyNTcwOVowXjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5D - MRMwEQYDVQQKDApOZXRGb3VuZHJ5MS0wKwYDVQQDDCROZXRGb3VuZHJ5IFppdGkg - RXh0ZXJuYWwgQVBJIFJvb3QgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARwq61Z - Iaqbaw0PDt3frJZaHjkxfZhwYrykI1GlbRNd/jix03lVG9qvpN5Og9fQfFFcFmD/ - 3vCE9S6O0npm0mADQxcBcxbMRAH5dtBuCuiJW6qAAbPgiM32vqSxBiFt0KejYzBh - MB0GA1UdDgQWBBRx1OVGuc/jdltDc8YBtkw8Tbr4fjAfBgNVHSMEGDAWgBRx1OVG - uc/jdltDc8YBtkw8Tbr4fjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB - hjAKBggqhkjOPQQDAgNnADBkAjBDRxNZUaIVpkQKnAgJukl3ysd3/i7Z6hDyIEms - kllz/+ZvmdBp9iedV5o5BvJUggACMCv+UBFlJH7pmsOCo/F45Kk178YsCC7gaMxE - 1ZG1zveyMvsYsH04C9FndE6w2MLvlA== - -----END CERTIFICATE----- - externalIdClaim: - $ref: '#/definitions/externalIdClaim' - identityNameFormat: - type: string - identityRoles: - $ref: '#/definitions/roles' - isAuthEnabled: - type: boolean - example: true - isAutoCaEnrollmentEnabled: - type: boolean - example: true - isOttCaEnrollmentEnabled: - type: boolean - example: true - name: - type: string - example: Test 3rd Party External CA - tags: - $ref: '#/definitions/tags' - caDetail: - description: A Certificate Authority (CA) resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - fingerprint - - certPem - - isVerified - - isAutoCaEnrollmentEnabled - - isOttCaEnrollmentEnabled - - isAuthEnabled - - identityRoles - - identityNameFormat - properties: - certPem: - type: string - externalIdClaim: - $ref: '#/definitions/externalIdClaim' - fingerprint: - type: string - identityNameFormat: - type: string - identityRoles: - $ref: '#/definitions/roles' - isAuthEnabled: - type: boolean - example: true - isAutoCaEnrollmentEnabled: - type: boolean - example: true - isOttCaEnrollmentEnabled: - type: boolean - example: true - isVerified: - type: boolean - example: false - name: - type: string - verificationToken: - type: string - format: uuid - caList: - description: An array of Certificate Authority (CA) resources - type: array - items: - $ref: '#/definitions/caDetail' - caPatch: - type: object - properties: - externalIdClaim: - $ref: '#/definitions/externalIdClaimPatch' - identityNameFormat: - type: string - x-nullable: true - identityRoles: - $ref: '#/definitions/roles' - isAuthEnabled: - type: boolean - x-nullable: true - example: true - isAutoCaEnrollmentEnabled: - type: boolean - x-nullable: true - example: true - isOttCaEnrollmentEnabled: - type: boolean - x-nullable: true - example: true - name: - type: string - x-nullable: true - example: My CA - tags: - $ref: '#/definitions/tags' - caUpdate: - type: object - required: - - name - - isAutoCaEnrollmentEnabled - - isOttCaEnrollmentEnabled - - isAuthEnabled - - identityRoles - - identityNameFormat - properties: - externalIdClaim: - $ref: '#/definitions/externalIdClaim' - identityNameFormat: - type: string - identityRoles: - $ref: '#/definitions/roles' - isAuthEnabled: - type: boolean - example: true - isAutoCaEnrollmentEnabled: - type: boolean - example: true - isOttCaEnrollmentEnabled: - type: boolean - example: true - name: - type: string - example: My CA - tags: - $ref: '#/definitions/tags' - commonEdgeRouterProperties: - type: object - required: - - hostname - - name - - supportedProtocols - - syncStatus - - isOnline - - cost - - noTraversal - properties: - appData: - $ref: '#/definitions/tags' - cost: - type: integer - maximum: 65535 - minimum: 0 - x-nullable: true - hostname: - type: string - isOnline: - type: boolean - name: - type: string - noTraversal: - type: boolean - x-nullable: true - supportedProtocols: - type: object - additionalProperties: - type: string - syncStatus: - type: string - configCreate: - description: A config create object - type: object - required: - - name - - configTypeId - - data - properties: - configTypeId: - description: The id of a config-type that the data section will match - type: string - data: - description: Data payload is defined by the schema of the config-type defined - in the type parameter - type: object - additionalProperties: true - x-nullable: false - name: - type: string - example: default.ziti-tunneler-server.v1 - tags: - $ref: '#/definitions/tags' - example: - configTypeId: cea49285-6c07-42cf-9f52-09a9b115c783 - data: - hostname: example.com - port: 80 - name: test-config - configDetail: - description: A config resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - configTypeId - - configType - - data - properties: - configType: - $ref: '#/definitions/entityRef' - configTypeId: - type: string - data: - description: The data section of a config is based on the schema of its - type - type: object - name: - type: string - configList: - description: An array of config resources - type: array - items: - $ref: '#/definitions/configDetail' - configPatch: - description: A config patch object - type: object - properties: - data: - description: Data payload is defined by the schema of the config-type defined - in the type parameter - type: object - additionalProperties: true - name: - type: string - example: default.ziti-tunneler-server.v1 - tags: - $ref: '#/definitions/tags' - example: - data: - hostname: example.com - port: 80 - name: example-config-name - configTypeCreate: - description: A config-type create object - type: object - required: - - name - properties: - name: - type: string - example: ziti-tunneler-server.v1 - schema: - description: A JSON schema to enforce configuration against - type: object - additionalProperties: true - tags: - $ref: '#/definitions/tags' - configTypeDetail: - description: A config-type resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - schema - properties: - name: - type: string - example: ziti-tunneler-server.v1 - schema: - description: A JSON schema to enforce configuration against - type: object - additionalProperties: true - configTypeList: - description: An array of config-type resources - type: array - items: - $ref: '#/definitions/configTypeDetail' - configTypePatch: - description: A config-type patch object - type: object - properties: - name: - type: string - example: ziti-tunneler-server.v1 - schema: - description: A JSON schema to enforce configuration against - type: object - additionalProperties: true - tags: - $ref: '#/definitions/tags' - configTypeUpdate: - description: A config-type update object - type: object - required: - - name - properties: - name: - type: string - example: ziti-tunneler-server.v1 - schema: - description: A JSON schema to enforce configuration against - type: object - additionalProperties: true - tags: - $ref: '#/definitions/tags' - configTypes: - description: Specific configuration types that should be returned - type: array - items: - type: string - configUpdate: - description: A config update object - type: object - required: - - name - - data - properties: - data: - description: Data payload is defined by the schema of the config-type defined - in the type parameter - type: object - additionalProperties: true - x-nullable: false - name: - type: string - example: default.ziti-tunneler-server.v1 - tags: - $ref: '#/definitions/tags' - example: - data: - hostname: example.com - port: 80 - name: example-config-name - createEnvelope: - type: object - properties: - data: - $ref: '#/definitions/createLocation' - meta: - $ref: '#/definitions/meta' - createLocation: - type: object - properties: - _links: - $ref: '#/definitions/links' - id: - type: string - currentApiSessionDetail: - description: An API Session object for the current API session - type: object - allOf: - - $ref: '#/definitions/apiSessionDetail' - - type: object - required: - - expiresAt - - expirationSeconds - properties: - expirationSeconds: - type: integer - expiresAt: - type: string - format: date-time - currentApiSessionDetailEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/currentApiSessionDetail' - meta: - $ref: '#/definitions/meta' - currentIdentityDetailEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/identityDetail' - meta: - $ref: '#/definitions/meta' - dataIntegrityCheckDetail: - type: object - required: - - description - - fixed - properties: - description: - type: string - fixed: - type: boolean - dataIntegrityCheckDetailList: - type: array - items: - $ref: '#/definitions/dataIntegrityCheckDetail' - dataIntegrityCheckDetails: - type: object - required: - - inProgress - - fixingErrors - - tooManyErrors - - startTime - - endTime - - error - - results - properties: - endTime: - type: string - format: date-time - error: - type: string - fixingErrors: - type: boolean - inProgress: - type: boolean - results: - $ref: '#/definitions/dataIntegrityCheckDetailList' - startTime: - type: string - format: date-time - tooManyErrors: - type: boolean - dataIntegrityCheckResultEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/dataIntegrityCheckDetails' - meta: - $ref: '#/definitions/meta' - detailApiSessionEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/apiSessionDetail' - meta: - $ref: '#/definitions/meta' - detailAuthPolicyEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/authPolicyDetail' - meta: - $ref: '#/definitions/meta' - detailAuthenticatorEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/authenticatorDetail' - meta: - $ref: '#/definitions/meta' - detailCaEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/caDetail' - meta: - $ref: '#/definitions/meta' - detailConfigEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/configDetail' - meta: - $ref: '#/definitions/meta' - detailConfigTypeEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/configTypeDetail' - meta: - $ref: '#/definitions/meta' - detailEdgeRouterPolicyEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/edgeRouterPolicyDetail' - meta: - $ref: '#/definitions/meta' - detailEnrollmentEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/enrollmentDetail' - meta: - $ref: '#/definitions/meta' - detailExternalJwtSignerEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/externalJwtSignerDetail' - meta: - $ref: '#/definitions/meta' - detailIdentityEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/identityDetail' - meta: - $ref: '#/definitions/meta' - detailIdentityTypeEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/identityTypeDetail' - meta: - $ref: '#/definitions/meta' - detailMfa: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - required: - - isVerified - properties: - isVerified: - type: boolean - provisioningUrl: - description: Not provided if MFA verification has been completed - type: string - recoveryCodes: - description: Not provided if MFA verification has been completed - type: array - items: - type: string - detailMfaEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/detailMfa' - meta: - $ref: '#/definitions/meta' - detailMfaRecoveryCodes: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - required: - - recoveryCodes - properties: - recoveryCodes: - type: array - items: - type: string - detailMfaRecoveryCodesEnvelope: - type: object - required: - - meta - - error - properties: - error: - $ref: '#/definitions/detailMfaRecoveryCodes' - meta: - $ref: '#/definitions/meta' - detailPostureCheckEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/postureCheckDetail' - meta: - $ref: '#/definitions/meta' - detailPostureCheckTypeEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/postureCheckTypeDetail' - meta: - $ref: '#/definitions/meta' - detailRouterEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/routerDetail' - meta: - $ref: '#/definitions/meta' - detailServiceEdgePolicyEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/serviceEdgeRouterPolicyDetail' - meta: - $ref: '#/definitions/meta' - detailServiceEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/serviceDetail' - meta: - $ref: '#/definitions/meta' - detailServicePolicyEnvelop: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/servicePolicyDetail' - meta: - $ref: '#/definitions/meta' - detailSessionManagementEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/sessionManagementDetail' - meta: - $ref: '#/definitions/meta' - detailSessionRoutePathEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/sessionRoutePathDetail' - meta: - $ref: '#/definitions/meta' - detailSpecBodyEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/specBodyDetail' - meta: - $ref: '#/definitions/meta' - detailSpecEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/specDetail' - meta: - $ref: '#/definitions/meta' - detailTerminatorEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/terminatorDetail' - meta: - $ref: '#/definitions/meta' - detailedEdgeRouterEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/edgeRouterDetail' - meta: - $ref: '#/definitions/meta' - dialBind: - type: string - enum: - - Dial - - Bind - dialBindArray: - type: array - items: - $ref: '#/definitions/dialBind' - disableParams: - type: object - required: - - durationMinutes - properties: - durationMinutes: - type: integer - edgeRouterCreate: - description: An edge router create object - type: object - required: - - name - properties: - appData: - $ref: '#/definitions/tags' - cost: - type: integer - maximum: 65535 - minimum: 0 - x-nullable: true - isTunnelerEnabled: - type: boolean - name: - type: string - noTraversal: - type: boolean - x-nullable: true - roleAttributes: - $ref: '#/definitions/attributes' - tags: - $ref: '#/definitions/tags' - edgeRouterDetail: - description: A detail edge router resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - $ref: '#/definitions/commonEdgeRouterProperties' - - type: object - required: - - isVerified - - roleAttributes - - os - - version - - arch - - buildDate - - revision - - isTunnelerEnabled - properties: - certPem: - type: string - x-nullable: true - x-omitempty: false - enrollmentCreatedAt: - type: string - format: date-time - x-nullable: true - enrollmentExpiresAt: - type: string - format: date-time - x-nullable: true - enrollmentJwt: - type: string - x-nullable: true - enrollmentToken: - type: string - x-nullable: true - fingerprint: - type: string - isTunnelerEnabled: - type: boolean - isVerified: - type: boolean - roleAttributes: - $ref: '#/definitions/attributes' - unverifiedCertPem: - type: string - x-nullable: true - x-omitempty: false - unverifiedFingerprint: - type: string - x-nullable: true - x-omitempty: false - versionInfo: - $ref: '#/definitions/versionInfo' - example: - _links: - edge-router-policies: - href: ./edge-routers/b0766b8d-bd1a-4d28-8415-639b29d3c83d/edge-routers - self: - href: ./edge-routers/b0766b8d-bd1a-4d28-8415-639b29d3c83d - cost: 0 - createdAt: "2020-03-16T17:13:31.5807454Z" - enrollmentCreatedAt: "2020-03-16T17:13:31.5777637Z" - enrollmentExpiresAt: "2020-03-16T17:18:31.5777637Z" - enrollmentJwt: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbSI6ImVyb3R0IiwiZXhwIjoxNTg0Mzc5MTExLCJpc3MiOiJodHRwczovL - 2xvY2FsaG9zdDoxMjgwIiwianRpIjoiMzBhMWYwZWEtZDM5Yi00YWFlLWI4NTItMzA0Y2YxYzMwZDFmIiwic3ViIjoiYjA3NjZiOGQtYmQxYS00ZDI - 4LTg0MTUtNjM5YjI5ZDNjODNkIn0.UsyQhCPORQ5tQnYWY7S88LNvV9iFS5Hy-P4aJaClZzEICobKgnQoyQblJcdMvk3cGKwyFqAnQtt0tDZkb8tHz - Vqyv6bilHcAFuMRrdwXRqdXquabSN5geu2qBUnyzL7Mf2X85if8sbMida6snB4oLZsVRF3CRn4ODBJdeiVJ_Z4rgD-zW2IwtXPApT7ALyiiw2cN4EH - 8pqQ7tpZKqztE0PGEbBQFPGKUFnm7oXyvSUo17EsFJUv5gUlBzfKKGolh5io4ptp22HZrqsqSnqDSOnYEZHonr5Yljuwiktrlh-JKiK6GGns5OAJMP - dO9lgM4yHSpF2ILbqhWMV93Y3zMOg - enrollmentToken: 30a1f0ea-d39b-4aae-b852-304cf1c30d1f - fingerprint: null - hostname: "" - id: b0766b8d-bd1a-4d28-8415-639b29d3c83d - isOnline: false - isTunnelerEnabled: false - isVerified: false - name: TestRouter-e33c837f-3222-4b40-bcd6-b3458fd5156e - noTraversal: false - roleAttributes: - - eastCoast - - sales - - test - supportedProtocols: {} - tags: {} - updatedAt: "2020-03-16T17:13:31.5807454Z" - edgeRouterList: - description: A list of edge router resources - type: array - items: - $ref: '#/definitions/edgeRouterDetail' - edgeRouterPatch: - description: An edge router patch object - type: object - properties: - appData: - $ref: '#/definitions/tags' - cost: - type: integer - maximum: 65535 - minimum: 0 - x-nullable: true - isTunnelerEnabled: - type: boolean - name: - type: string - x-nullable: true - noTraversal: - type: boolean - x-nullable: true - roleAttributes: - $ref: '#/definitions/attributes' - tags: - $ref: '#/definitions/tags' - edgeRouterPolicyCreate: - required: - - name - - semantic - properties: - edgeRouterRoles: - $ref: '#/definitions/roles' - identityRoles: - $ref: '#/definitions/roles' - name: - type: string - semantic: - $ref: '#/definitions/semantic' - tags: - $ref: '#/definitions/tags' - edgeRouterPolicyDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - semantic - - edgeRouterRoles - - edgeRouterRolesDisplay - - identityRoles - - identityRolesDisplay - - isSystem - properties: - edgeRouterRoles: - $ref: '#/definitions/roles' - edgeRouterRolesDisplay: - $ref: '#/definitions/namedRoles' - identityRoles: - $ref: '#/definitions/roles' - identityRolesDisplay: - $ref: '#/definitions/namedRoles' - isSystem: - type: boolean - name: - type: string - semantic: - $ref: '#/definitions/semantic' - edgeRouterPolicyList: - type: array - items: - $ref: '#/definitions/edgeRouterPolicyDetail' - edgeRouterPolicyPatch: - properties: - edgeRouterRoles: - $ref: '#/definitions/roles' - identityRoles: - $ref: '#/definitions/roles' - name: - type: string - semantic: - $ref: '#/definitions/semantic' - tags: - $ref: '#/definitions/tags' - edgeRouterPolicyUpdate: - required: - - name - - semantic - properties: - edgeRouterRoles: - $ref: '#/definitions/roles' - identityRoles: - $ref: '#/definitions/roles' - name: - type: string - semantic: - $ref: '#/definitions/semantic' - tags: - $ref: '#/definitions/tags' - edgeRouterUpdate: - description: An edge router update object - type: object - required: - - name - properties: - appData: - $ref: '#/definitions/tags' - cost: - type: integer - maximum: 65535 - minimum: 0 - x-nullable: true - isTunnelerEnabled: - type: boolean - name: - type: string - noTraversal: - type: boolean - x-nullable: true - roleAttributes: - $ref: '#/definitions/attributes' - tags: - $ref: '#/definitions/tags' - empty: - type: object - required: - - meta - - data - properties: - data: - type: object - example: {} - meta: - $ref: '#/definitions/meta' - enrollmentCreate: - type: object - required: - - method - - expiresAt - - identityId - properties: - caId: - type: string - x-nullable: true - expiresAt: - type: string - format: date-time - identityId: - type: string - method: - type: string - enum: - - ott - - ottca - - updb - username: - type: string - x-nullable: true - enrollmentDetail: - description: | - An enrollment object. Enrollments are tied to identities and potentially a CA. Depending on the - method, different fields are utilized. For example ottca enrollments use the `ca` field and updb enrollments - use the username field, but not vice versa. - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - token - - method - - expiresAt - - details - properties: - caId: - type: string - x-nullable: true - edgeRouter: - $ref: '#/definitions/entityRef' - edgeRouterId: - type: string - expiresAt: - type: string - format: date-time - identity: - $ref: '#/definitions/entityRef' - identityId: - type: string - jwt: - type: string - method: - type: string - token: - type: string - transitRouter: - $ref: '#/definitions/entityRef' - transitRouterId: - type: string - username: - type: string - example: - _links: - self: - href: ./enrollments/624fa53f-7629-4a7a-9e38-c1f4ce322c1d - ca: null - createdAt: "0001-01-01T00:00:00Z" - expiresAt: "2020-03-11T20:20:24.0055543Z" - id: 624fa53f-7629-4a7a-9e38-c1f4ce322c1d - identity: - _links: - self: - href: ./identities/f047ac96-dc3a-408a-a6f2-0ba487c08ef9 - id: f047ac96-dc3a-408a-a6f2-0ba487c08ef9 - name: updb--0f245140-7f2e-4326-badf-6aba55e52475 - urlName: identities - method: updb - tags: null - token: 1e727c8f-07e4-4a1d-a8b0-da0c7a01c6e1 - updatedAt: "0001-01-01T00:00:00Z" - username: example-username - enrollmentList: - description: An array of enrollment resources - type: array - items: - $ref: '#/definitions/enrollmentDetail' - enrollmentRefresh: - type: object - required: - - expiresAt - properties: - expiresAt: - type: string - format: date-time - entityRef: - description: A reference to another resource and links to interact with it - type: object - properties: - _links: - $ref: '#/definitions/links' - entity: - type: string - id: - type: string - name: - type: string - envInfo: - description: Environment information an authenticating client may provide - type: object - properties: - arch: - type: string - os: - type: string - osRelease: - type: string - osVersion: - type: string - externalIdClaim: - type: object - required: - - location - - matcher - - matcherCriteria - - parser - - parserCriteria - - index - properties: - index: - type: integer - x-nullable: true - location: - type: string - enum: - - COMMON_NAME - - SAN_URI - - SAN_EMAIL - x-nullable: true - matcher: - type: string - enum: - - ALL - - PREFIX - - SUFFIX - - SCHEME - x-nullable: true - matcherCriteria: - type: string - x-nullable: true - parser: - type: string - enum: - - NONE - - SPLIT - x-nullable: true - parserCriteria: - type: string - x-nullable: true - externalIdClaimPatch: - type: object - properties: - index: - type: integer - x-nullable: true - location: - type: string - enum: - - COMMON_NAME - - SAN_URI - - SAN_EMAIL - x-nullable: true - matcher: - type: string - enum: - - ALL - - PREFIX - - SUFFIX - - SCHEME - x-nullable: true - matcherCriteria: - type: string - x-nullable: true - parser: - type: string - enum: - - NONE - - SPLIT - x-nullable: true - parserCriteria: - type: string - x-nullable: true - externalJwtSignerCreate: - description: A create Certificate Authority (CA) object - type: object - required: - - name - - enabled - - issuer - - audience - properties: - audience: - type: string - x-nullable: true - certPem: - type: string - x-nullable: true - claimsProperty: - type: string - x-nullable: true - enabled: - type: boolean - externalAuthUrl: - type: string - format: url - x-nullable: true - issuer: - type: string - jwksEndpoint: - type: string - format: uri - x-nullable: true - kid: - type: string - x-nullable: true - name: - type: string - example: MyApps Signer - tags: - $ref: '#/definitions/tags' - useExternalId: - type: boolean - x-nullable: true - externalJwtSignerDetail: - description: A External JWT Signer resource - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - certPem - - jwksEndpoint - - enabled - - fingerprint - - commonName - - notAfter - - notBefore - - externalAuthUrl - - claimsProperty - - useExternalId - - kid - - issuer - - audience - properties: - audience: - type: string - certPem: - type: string - x-nullable: true - claimsProperty: - type: string - commonName: - type: string - enabled: - type: boolean - externalAuthUrl: - type: string - format: url - fingerprint: - type: string - issuer: - type: string - jwksEndpoint: - type: string - format: uri - x-nullable: true - kid: - type: string - name: - type: string - example: MyApps Signer - notAfter: - type: string - format: date-time - notBefore: - type: string - format: date-time - useExternalId: - type: boolean - externalJwtSignerList: - description: An array of External JWT Signers resources - type: array - items: - $ref: '#/definitions/externalJwtSignerDetail' - externalJwtSignerPatch: - type: object - properties: - audience: - type: string - x-nullable: true - certPem: - type: string - x-nullable: true - claimsProperty: - type: string - x-nullable: true - enabled: - type: boolean - x-nullable: true - externalAuthUrl: - type: string - format: url - x-nullable: true - issuer: - type: string - x-nullable: true - jwksEndpoint: - type: string - format: uri - x-nullable: true - kid: - type: string - x-nullable: true - name: - type: string - x-nullable: true - example: MyApps Signer - tags: - $ref: '#/definitions/tags' - useExternalId: - type: boolean - x-nullable: true - externalJwtSignerUpdate: - type: object - required: - - name - - enabled - - issuer - - audience - properties: - audience: - type: string - x-nullable: true - certPem: - type: string - x-nullable: true - claimsProperty: - type: string - x-nullable: true - enabled: - type: boolean - externalAuthUrl: - type: string - format: url - x-nullable: true - issuer: - type: string - jwksEndpoint: - type: string - format: uri - x-nullable: true - kid: - type: string - x-nullable: true - name: - type: string - example: MyApps Signer - tags: - $ref: '#/definitions/tags' - useExternalId: - type: boolean - x-nullable: true - failedServiceRequest: - type: object - properties: - apiSessionId: - type: string - policyFailures: - type: array - items: - $ref: '#/definitions/policyFailure' - serviceId: - type: string - serviceName: - type: string - sessionType: - $ref: '#/definitions/dialBind' - when: - type: string - format: date-time - failedServiceRequestEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/failedServiceRequestList' - meta: - $ref: '#/definitions/meta' - failedServiceRequestList: - type: array - items: - $ref: '#/definitions/failedServiceRequest' - getIdentityPolicyAdviceEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/policyAdvice' - meta: - $ref: '#/definitions/meta' - identityAuthenticators: - type: object - properties: - cert: - type: object - properties: - fingerprint: - type: string - id: - type: string - updb: - type: object - properties: - id: - type: string - username: - type: string - identityCreate: - description: An identity to create - type: object - required: - - name - - type - - isAdmin - properties: - appData: - $ref: '#/definitions/tags' - authPolicyId: - type: string - x-nullable: true - defaultHostingCost: - $ref: '#/definitions/terminatorCost' - defaultHostingPrecedence: - $ref: '#/definitions/terminatorPrecedence' - enrollment: - type: object - properties: - ott: - type: boolean - ottca: - type: string - updb: - type: string - externalId: - type: string - x-nullable: true - isAdmin: - type: boolean - name: - type: string - roleAttributes: - $ref: '#/definitions/attributes' - serviceHostingCosts: - $ref: '#/definitions/terminatorCostMap' - serviceHostingPrecedences: - $ref: '#/definitions/terminatorPrecedenceMap' - tags: - $ref: '#/definitions/tags' - type: - $ref: '#/definitions/identityType' - identityDetail: - description: Detail of a specific identity - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - type - - typeId - - isDefaultAdmin - - isAdmin - - authenticators - - enrollment - - envInfo - - sdkInfo - - roleAttributes - - hasEdgeRouterConnection - - hasApiSession - - isMfaEnabled - - serviceHostingPrecedences - - serviceHostingCosts - - defaultHostingCost - - authPolicyId - - externalId - - disabled - properties: - appData: - $ref: '#/definitions/tags' - authPolicyId: - type: string - authenticators: - $ref: '#/definitions/identityAuthenticators' - defaultHostingCost: - $ref: '#/definitions/terminatorCost' - defaultHostingPrecedence: - $ref: '#/definitions/terminatorPrecedence' - disabled: - type: boolean - disabledAt: - type: string - format: date-time - x-nullable: true - disabledUntil: - type: string - format: date-time - x-nullable: true - enrollment: - $ref: '#/definitions/identityEnrollments' - envInfo: - $ref: '#/definitions/envInfo' - externalId: - type: string - x-nullable: true - hasApiSession: - type: boolean - hasEdgeRouterConnection: - type: boolean - isAdmin: - type: boolean - isDefaultAdmin: - type: boolean - isMfaEnabled: - type: boolean - name: - type: string - roleAttributes: - $ref: '#/definitions/attributes' - sdkInfo: - $ref: '#/definitions/sdkInfo' - serviceHostingCosts: - $ref: '#/definitions/terminatorCostMap' - serviceHostingPrecedences: - $ref: '#/definitions/terminatorPrecedenceMap' - type: - $ref: '#/definitions/entityRef' - typeId: - type: string - identityEnrollments: - type: object - properties: - ott: - type: object - properties: - expiresAt: - type: string - format: date-time - id: - type: string - jwt: - type: string - token: - type: string - ottca: - type: object - properties: - ca: - $ref: '#/definitions/entityRef' - caId: - type: string - expiresAt: - type: string - format: date-time - id: - type: string - jwt: - type: string - token: - type: string - updb: - type: object - properties: - expiresAt: - type: string - format: date-time - id: - type: string - jwt: - type: string - token: - type: string - identityExtendCerts: - type: object - properties: - ca: - description: A PEM encoded set of CA certificates - type: string - clientCert: - description: A PEM encoded client certificate - type: string - identityExtendEnrollmentEnvelope: - type: object - properties: - data: - $ref: '#/definitions/identityExtendCerts' - meta: - $ref: '#/definitions/meta' - identityExtendEnrollmentRequest: - type: object - required: - - clientCertCsr - properties: - clientCertCsr: - type: string - identityExtendValidateEnrollmentRequest: - type: object - required: - - clientCert - properties: - clientCert: - description: A PEM encoded client certificate previously returned after an - extension request - type: string - identityList: - description: A list of identities - type: array - items: - $ref: '#/definitions/identityDetail' - identityPatch: - type: object - properties: - appData: - $ref: '#/definitions/tags' - authPolicyId: - type: string - x-nullable: true - defaultHostingCost: - $ref: '#/definitions/terminatorCost' - defaultHostingPrecedence: - $ref: '#/definitions/terminatorPrecedence' - externalId: - type: string - x-nullable: true - isAdmin: - type: boolean - x-nullable: true - name: - type: string - x-nullable: true - roleAttributes: - $ref: '#/definitions/attributes' - serviceHostingCosts: - $ref: '#/definitions/terminatorCostMap' - serviceHostingPrecedences: - $ref: '#/definitions/terminatorPrecedenceMap' - tags: - $ref: '#/definitions/tags' - type: - $ref: '#/definitions/identityType' - identityType: - type: string - enum: - - User - - Device - - Service - - Router - identityTypeDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - properties: - name: - type: string - identityTypeList: - type: array - items: - $ref: '#/definitions/identityTypeDetail' - identityUpdate: - type: object - required: - - type - - name - - isAdmin - properties: - appData: - $ref: '#/definitions/tags' - authPolicyId: - type: string - x-nullable: true - defaultHostingCost: - $ref: '#/definitions/terminatorCost' - defaultHostingPrecedence: - $ref: '#/definitions/terminatorPrecedence' - externalId: - type: string - x-nullable: true - isAdmin: - type: boolean - name: - type: string - roleAttributes: - $ref: '#/definitions/attributes' - serviceHostingCosts: - $ref: '#/definitions/terminatorCostMap' - serviceHostingPrecedences: - $ref: '#/definitions/terminatorPrecedenceMap' - tags: - $ref: '#/definitions/tags' - type: - $ref: '#/definitions/identityType' - link: - description: A link to another resource - type: object - required: - - href - properties: - comment: - type: string - href: - type: string - format: uri - method: - type: string - links: - description: A map of named links - type: object - additionalProperties: - $ref: '#/definitions/link' - x-omitempty: false - listApiSessionsEnvelope: - required: - - meta - - data - properties: - data: - $ref: '#/definitions/apiSessionList' - meta: - $ref: '#/definitions/meta' - listAuthPoliciesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/authPolicyList' - meta: - $ref: '#/definitions/meta' - listAuthenticatorsEnvelope: - type: object - properties: - data: - $ref: '#/definitions/authenticatorList' - meta: - $ref: '#/definitions/meta' - listCasEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/caList' - meta: - $ref: '#/definitions/meta' - listConfigTypesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/configTypeList' - meta: - $ref: '#/definitions/meta' - listConfigsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/configList' - meta: - $ref: '#/definitions/meta' - listEdgeRouterPoliciesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/edgeRouterPolicyList' - meta: - $ref: '#/definitions/meta' - listEdgeRoutersEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/edgeRouterList' - meta: - $ref: '#/definitions/meta' - listEnrollmentsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/enrollmentList' - meta: - $ref: '#/definitions/meta' - listExternalJwtSignersEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/externalJwtSignerList' - meta: - $ref: '#/definitions/meta' - listIdentitiesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/identityList' - meta: - $ref: '#/definitions/meta' - listIdentityTypesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/identityTypeList' - meta: - $ref: '#/definitions/meta' - listPostureCheckEnvelope: - type: object - required: - - meta - - data - properties: - data: - type: array - items: - $ref: '#/definitions/postureCheckDetail' - meta: - $ref: '#/definitions/meta' - listPostureCheckTypesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/postureCheckTypeList' - meta: - $ref: '#/definitions/meta' - listRoleAttributesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/roleAttributesList' - meta: - $ref: '#/definitions/meta' - listRoutersEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/routerList' - meta: - $ref: '#/definitions/meta' - listServiceConfigsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/serviceConfigList' - meta: - $ref: '#/definitions/meta' - listServiceEdgeRouterPoliciesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/serviceEdgeRouterPolicyList' - meta: - $ref: '#/definitions/meta' - listServicePoliciesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/servicePolicyList' - meta: - $ref: '#/definitions/meta' - listServicesEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/serviceList' - meta: - $ref: '#/definitions/meta' - listSessionsManagementEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/sessionManagementList' - meta: - $ref: '#/definitions/meta' - listSpecsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/specList' - meta: - $ref: '#/definitions/meta' - listSummaryCounts: - type: object - additionalProperties: - type: integer - listSummaryCountsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/listSummaryCounts' - meta: - $ref: '#/definitions/meta' - listTerminatorsEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/terminatorList' - meta: - $ref: '#/definitions/meta' - listVersionEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/version' - meta: - $ref: '#/definitions/meta' - meta: - type: object - properties: - apiEnrollmentVersion: - type: string - apiVersion: - type: string - filterableFields: - type: array - items: - type: string - x-omitempty: true - pagination: - $ref: '#/definitions/pagination' - mfaCode: - type: object - required: - - code - properties: - code: - type: string - mfaFormats: - type: string - enum: - - numeric - - alpha - - alphaNumeric - mfaProviders: - type: string - enum: - - ziti - - url - namedRole: - type: object - properties: - name: - type: string - role: - type: string - namedRoles: - type: array - items: - $ref: '#/definitions/namedRole' - x-omitempty: false - operatingSystem: - type: object - required: - - type - - versions - properties: - type: - $ref: '#/definitions/osType' - versions: - type: array - items: - type: string - osType: - type: string - enum: - - Windows - - WindowsServer - - Android - - iOS - - Linux - - macOS - pagination: - type: object - required: - - limit - - offset - - totalCount - properties: - limit: - type: number - format: int64 - offset: - type: number - format: int64 - totalCount: - type: number - format: int64 - password: - type: string - maxLength: 100 - minLength: 5 - passwordNullable: - type: string - maxLength: 100 - minLength: 5 - x-nullable: true - policyAdvice: - type: object - properties: - commonRouters: - type: array - items: - $ref: '#/definitions/routerEntityRef' - identity: - $ref: '#/definitions/entityRef' - identityId: - type: string - identityRouterCount: - type: number - format: int32 - isBindAllowed: - type: boolean - isDialAllowed: - type: boolean - service: - $ref: '#/definitions/entityRef' - serviceId: - type: string - serviceRouterCount: - type: number - format: int32 - policyFailure: - type: object - properties: - checks: - type: array - items: - $ref: '#/definitions/postureCheckFailure' - policyId: - type: string - policyName: - type: string - postureCheckCreate: - type: object - required: - - name - - typeId - properties: - name: - type: string - roleAttributes: - $ref: '#/definitions/attributes' - tags: - $ref: '#/definitions/tags' - typeId: - $ref: '#/definitions/postureCheckType' - discriminator: typeId - postureCheckDetail: - type: object - required: - - name - - typeId - - version - - roleAttributes - - id - - createdAt - - updatedAt - - _links - - tags - properties: - _links: - $ref: '#/definitions/links' - createdAt: - type: string - format: date-time - id: - type: string - name: - type: string - roleAttributes: - $ref: '#/definitions/attributes' - tags: - $ref: '#/definitions/tags' - typeId: - type: string - updatedAt: - type: string - format: date-time - version: - type: integer - discriminator: typeId - postureCheckDomainCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - domains - properties: - domains: - type: array - minItems: 1 - items: - type: string - x-class: DOMAIN - postureCheckDomainDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - domains - properties: - domains: - type: array - minItems: 1 - items: - type: string - x-class: DOMAIN - postureCheckDomainPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - domains: - type: array - minItems: 1 - items: - type: string - x-class: DOMAIN - postureCheckDomainUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - domains - properties: - domains: - type: array - minItems: 1 - items: - type: string - x-class: DOMAIN - postureCheckFailure: - type: object - required: - - postureCheckId - - postureCheckName - - postureCheckType - properties: - postureCheckId: - type: string - postureCheckName: - type: string - postureCheckType: - type: string - discriminator: postureCheckType - postureCheckFailureDomain: - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - properties: - actualValue: - type: string - expectedValue: - type: array - items: - type: string - x-class: DOMAIN - postureCheckFailureMacAddress: - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - properties: - actualValue: - type: array - items: - type: string - expectedValue: - type: array - items: - type: string - x-class: MAC - postureCheckFailureMfa: - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - - criteria - properties: - actualValue: - $ref: '#/definitions/postureChecksFailureMfaValues' - criteria: - $ref: '#/definitions/postureChecksFailureMfaCriteria' - expectedValue: - $ref: '#/definitions/postureChecksFailureMfaValues' - x-class: MFA - postureCheckFailureOperatingSystem: - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - properties: - actualValue: - $ref: '#/definitions/postureCheckFailureOperatingSystemActual' - expectedValue: - type: array - minItems: 1 - items: - $ref: '#/definitions/operatingSystem' - x-class: OS - postureCheckFailureOperatingSystemActual: - type: object - required: - - type - - version - properties: - type: - type: string - version: - type: string - postureCheckFailureProcess: - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - properties: - actualValue: - $ref: '#/definitions/postureCheckFailureProcessActual' - expectedValue: - $ref: '#/definitions/process' - x-class: PROCESS - postureCheckFailureProcessActual: - type: object - required: - - isRunning - - hash - - signerFingerprints - properties: - hash: - type: string - isRunning: - type: boolean - osType: - $ref: '#/definitions/osType' - path: - type: string - signerFingerprints: - type: array - items: - type: string - postureCheckFailureProcessMulti: - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - - semantic - properties: - actualValue: - type: array - items: - $ref: '#/definitions/postureCheckFailureProcessActual' - expectedValue: - type: array - items: - $ref: '#/definitions/processMulti' - semantic: - $ref: '#/definitions/semantic' - x-class: PROCESS_MULTI - postureCheckMacAddressCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - macAddresses - properties: - macAddresses: - type: array - minItems: 1 - items: - type: string - x-class: MAC - postureCheckMacAddressDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - macAddresses - properties: - macAddresses: - type: array - minItems: 1 - items: - type: string - x-class: MAC - postureCheckMacAddressPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - macAddresses: - type: array - minItems: 1 - items: - type: string - x-class: MAC - postureCheckMacAddressUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - macAddresses - properties: - macAddresses: - type: array - minItems: 1 - items: - type: string - x-class: MAC - postureCheckMfaCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - $ref: '#/definitions/postureCheckMfaProperties' - x-class: MFA - postureCheckMfaDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - $ref: '#/definitions/postureCheckMfaProperties' - x-class: MFA - postureCheckMfaPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - $ref: '#/definitions/postureCheckMfaPropertiesPatch' - x-class: MFA - postureCheckMfaProperties: - type: object - properties: - ignoreLegacyEndpoints: - type: boolean - promptOnUnlock: - type: boolean - promptOnWake: - type: boolean - timeoutSeconds: - type: integer - postureCheckMfaPropertiesPatch: - type: object - properties: - ignoreLegacyEndpoints: - type: boolean - x-nullable: true - promptOnUnlock: - type: boolean - x-nullable: true - promptOnWake: - type: boolean - x-nullable: true - timeoutSeconds: - type: integer - x-nullable: true - postureCheckMfaUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - $ref: '#/definitions/postureCheckMfaProperties' - x-class: MFA - postureCheckOperatingSystemCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - operatingSystems - properties: - operatingSystems: - type: array - minItems: 1 - items: - $ref: '#/definitions/operatingSystem' - x-class: OS - postureCheckOperatingSystemDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - operatingSystems - properties: - operatingSystems: - type: array - items: - $ref: '#/definitions/operatingSystem' - x-class: OS - postureCheckOperatingSystemPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - operatingSystems: - type: array - minItems: 1 - items: - $ref: '#/definitions/operatingSystem' - x-class: OS - postureCheckOperatingSystemUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - operatingSystems - properties: - operatingSystems: - type: array - minItems: 1 - items: - $ref: '#/definitions/operatingSystem' - x-class: OS - postureCheckPatch: - type: object - required: - - typeId - properties: - name: - type: string - roleAttributes: - $ref: '#/definitions/attributes' - tags: - $ref: '#/definitions/tags' - typeId: - $ref: '#/definitions/postureCheckType' - discriminator: typeId - postureCheckProcessCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - process - properties: - process: - $ref: '#/definitions/process' - x-class: PROCESS - postureCheckProcessDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - process - properties: - process: - $ref: '#/definitions/process' - x-class: PROCESS - postureCheckProcessMultiCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - semantic - - processes - properties: - processes: - type: array - minItems: 1 - items: - $ref: '#/definitions/processMulti' - semantic: - $ref: '#/definitions/semantic' - x-class: PROCESS_MULTI - postureCheckProcessMultiDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - semantic - - processes - properties: - processes: - type: array - minItems: 1 - items: - $ref: '#/definitions/processMulti' - semantic: - $ref: '#/definitions/semantic' - x-class: PROCESS_MULTI - postureCheckProcessMultiPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - processes: - type: array - minItems: 1 - items: - $ref: '#/definitions/processMulti' - semantic: - $ref: '#/definitions/semantic' - x-class: PROCESS_MULTI - postureCheckProcessMultiUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - semantic - - processes - properties: - processes: - type: array - minItems: 1 - items: - $ref: '#/definitions/processMulti' - semantic: - $ref: '#/definitions/semantic' - x-class: PROCESS_MULTI - postureCheckProcessPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - process: - $ref: '#/definitions/process' - x-class: PROCESS - postureCheckProcessUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - process - properties: - process: - $ref: '#/definitions/process' - x-class: PROCESS - postureCheckType: - type: string - enum: - - OS - - PROCESS - - DOMAIN - - MAC - - MFA - - PROCESS_MULTI - postureCheckTypeDetail: - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - operatingSystems - - version - properties: - name: - type: string - operatingSystems: - type: array - items: - $ref: '#/definitions/operatingSystem' - version: - type: string - postureCheckTypeList: - type: array - items: - $ref: '#/definitions/postureCheckTypeDetail' - postureCheckUpdate: - type: object - required: - - name - properties: - name: - type: string - roleAttributes: - $ref: '#/definitions/attributes' - tags: - $ref: '#/definitions/tags' - typeId: - $ref: '#/definitions/postureCheckType' - discriminator: typeId - postureChecksFailureMfaCriteria: - type: object - required: - - passedMfaAt - - wokenAt - - unlockedAt - - timeoutSeconds - - timeoutRemainingSeconds - properties: - passedMfaAt: - type: string - format: date-time - timeoutRemainingSeconds: - type: integer - timeoutSeconds: - type: integer - unlockedAt: - type: string - format: date-time - wokenAt: - type: string - format: date-time - postureChecksFailureMfaValues: - type: object - properties: - passedMfa: - type: boolean - x-omitempty: false - passedOnUnlock: - type: boolean - x-omitempty: false - passedOnWake: - type: boolean - x-omitempty: false - timedOut: - type: boolean - x-omitempty: false - postureData: - type: object - required: - - mac - - domain - - os - - processes - - apiSessionPostureData - properties: - apiSessionPostureData: - type: object - additionalProperties: - $ref: '#/definitions/apiSessionPostureData' - domain: - $ref: '#/definitions/postureDataDomain' - mac: - $ref: '#/definitions/postureDataMac' - os: - $ref: '#/definitions/postureDataOs' - processes: - type: array - items: - $ref: '#/definitions/postureDataProcess' - postureDataBase: - type: object - required: - - postureCheckId - - timedOut - - lastUpdatedAt - properties: - lastUpdatedAt: - type: string - format: date-time - postureCheckId: - type: string - timedOut: - type: boolean - postureDataDomain: - type: object - allOf: - - $ref: '#/definitions/postureDataBase' - - type: object - required: - - domain - properties: - domain: - type: string - postureDataEndpointState: - type: object - required: - - wokenAt - - unlockedAt - properties: - unlockedAt: - type: string - format: date-time - wokenAt: - type: string - format: date-time - postureDataEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/postureData' - meta: - $ref: '#/definitions/meta' - postureDataMac: - type: object - allOf: - - $ref: '#/definitions/postureDataBase' - - type: object - required: - - addresses - properties: - addresses: - type: array - items: - type: string - postureDataMfa: - type: object - required: - - apiSessionId - - passedMfa - - passedOnWake - - passedOnUnlock - - passedAt - properties: - apiSessionId: - type: string - passedAt: - type: string - format: date-time - x-omitempty: false - passedMfa: - type: boolean - x-omitempty: false - passedOnUnlock: - type: boolean - x-omitempty: false - passedOnWake: - type: boolean - x-omitempty: false - postureDataOs: - type: object - allOf: - - $ref: '#/definitions/postureDataBase' - - type: object - required: - - type - - version - - build - properties: - build: - type: string - type: - type: string - version: - type: string - postureDataProcess: - type: object - allOf: - - $ref: '#/definitions/postureDataBase' - - type: object - properties: - binaryHash: - type: string - isRunning: - type: boolean - signerFingerprints: - type: array - items: - type: string - postureQueries: - type: object - required: - - policyId - - isPassing - - postureQueries - properties: - isPassing: - type: boolean - policyId: - type: string - policyType: - $ref: '#/definitions/dialBind' - postureQueries: - type: array - items: - $ref: '#/definitions/postureQuery' - postureQuery: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - queryType - - isPassing - - timeout - - timeoutRemaining - properties: - isPassing: - type: boolean - process: - $ref: '#/definitions/postureQueryProcess' - processes: - type: array - items: - $ref: '#/definitions/postureQueryProcess' - queryType: - $ref: '#/definitions/postureCheckType' - timeout: - type: integer - timeoutRemaining: - type: integer - postureQueryProcess: - type: object - properties: - osType: - $ref: '#/definitions/osType' - path: - type: string - process: - type: object - required: - - osType - - path - properties: - hashes: - type: array - items: - type: string - osType: - $ref: '#/definitions/osType' - path: - type: string - signerFingerprint: - type: string - processMulti: - type: object - required: - - osType - - path - properties: - hashes: - type: array - items: - type: string - osType: - $ref: '#/definitions/osType' - path: - type: string - signerFingerprints: - type: array - items: - type: string - reEnroll: - type: object - required: - - expiresAt - properties: - expiresAt: - type: string - format: date-time - roleAttributesList: - description: An array of role attributes - type: array - items: - type: string - roles: - type: array - items: - type: string - x-omitempty: false - routerCreate: - type: object - required: - - name - properties: - cost: - type: integer - maximum: 65535 - minimum: 0 - x-nullable: true - name: - type: string - noTraversal: - type: boolean - x-nullable: true - tags: - $ref: '#/definitions/tags' - routerDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - isVerified - - isOnline - - fingerprint - - cost - - noTraversal - properties: - cost: - type: integer - maximum: 65535 - minimum: 0 - enrollmentCreatedAt: - type: string - format: date-time - x-nullable: true - enrollmentExpiresAt: - type: string - format: date-time - x-nullable: true - enrollmentJwt: - type: string - x-nullable: true - enrollmentToken: - type: string - x-nullable: true - fingerprint: - type: string - isOnline: - type: boolean - isVerified: - type: boolean - name: - type: string - noTraversal: - type: boolean - unverifiedCertPem: - type: string - x-nullable: true - x-omitempty: false - unverifiedFingerprint: - type: string - x-nullable: true - x-omitempty: false - routerEntityRef: - type: object - allOf: - - $ref: '#/definitions/entityRef' - - type: object - required: - - isOnline - properties: - isOnline: - type: boolean - routerList: - type: array - items: - $ref: '#/definitions/routerDetail' - routerPatch: - type: object - properties: - cost: - type: integer - maximum: 65535 - minimum: 0 - x-nullable: true - name: - type: string - noTraversal: - type: boolean - x-nullable: true - tags: - $ref: '#/definitions/tags' - routerUpdate: - type: object - required: - - name - properties: - cost: - type: integer - maximum: 65535 - minimum: 0 - x-nullable: true - name: - type: string - noTraversal: - type: boolean - x-nullable: true - tags: - $ref: '#/definitions/tags' - sdkInfo: - description: SDK information an authenticating client may provide - type: object - properties: - appId: - type: string - appVersion: - type: string - branch: - type: string - revision: - type: string - type: - type: string - version: - type: string - semantic: - type: string - enum: - - AllOf - - AnyOf - serviceConfigAssign: - type: object - required: - - serviceId - - configId - properties: - configId: - type: string - serviceId: - type: string - serviceConfigDetail: - type: object - required: - - serviceId - - service - - configId - - config - properties: - config: - $ref: '#/definitions/entityRef' - configId: - type: string - service: - $ref: '#/definitions/entityRef' - serviceId: - type: string - example: - config: - _links: - self: - href: ./identities/13347602-ba34-4ff7-8082-e533ba945744 - id: 13347602-ba34-4ff7-8082-e533ba945744 - name: test-config-02fade09-fcc3-426c-854e-18539726bdc6 - urlName: configs - service: - _links: - self: - href: ./services/913a8c63-17a6-44d7-82b3-9f6eb997cf8e - id: 913a8c63-17a6-44d7-82b3-9f6eb997cf8e - name: netcat4545-egress-r2 - urlName: services - serviceConfigList: - type: array - items: - $ref: '#/definitions/serviceConfigDetail' - serviceConfigsAssignList: - type: array - items: - $ref: '#/definitions/serviceConfigAssign' - serviceCreate: - type: object - required: - - name - - encryptionRequired - properties: - configs: - type: array - items: - type: string - encryptionRequired: - description: Describes whether connections must support end-to-end encryption - on both sides of the connection. - type: boolean - name: - type: string - roleAttributes: - type: array - items: - type: string - tags: - $ref: '#/definitions/tags' - terminatorStrategy: - type: string - serviceDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - terminatorStrategy - - roleAttributes - - permissions - - configs - - config - - encryptionRequired - - postureQueries - properties: - config: - description: map of config data for this service keyed by the config type - name. Only configs of the types requested will be returned. - type: object - additionalProperties: - type: object - additionalProperties: - type: object - configs: - type: array - items: - type: string - encryptionRequired: - description: Describes whether connections must support end-to-end encryption - on both sides of the connection. Read-only property, set at create. - type: boolean - name: - type: string - permissions: - $ref: '#/definitions/dialBindArray' - postureQueries: - type: array - items: - $ref: '#/definitions/postureQueries' - roleAttributes: - $ref: '#/definitions/attributes' - terminatorStrategy: - type: string - serviceEdgeRouterPolicyCreate: - type: object - required: - - name - - semantic - properties: - edgeRouterRoles: - $ref: '#/definitions/roles' - name: - type: string - semantic: - $ref: '#/definitions/semantic' - serviceRoles: - $ref: '#/definitions/roles' - tags: - $ref: '#/definitions/tags' - serviceEdgeRouterPolicyDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - semantic - - edgeRouterRoles - - edgeRouterRolesDisplay - - serviceRoles - - serviceRolesDisplay - properties: - edgeRouterRoles: - $ref: '#/definitions/roles' - edgeRouterRolesDisplay: - $ref: '#/definitions/namedRoles' - name: - type: string - semantic: - $ref: '#/definitions/semantic' - serviceRoles: - $ref: '#/definitions/roles' - serviceRolesDisplay: - $ref: '#/definitions/namedRoles' - serviceEdgeRouterPolicyList: - type: array - items: - $ref: '#/definitions/serviceEdgeRouterPolicyDetail' - serviceEdgeRouterPolicyPatch: - type: object - properties: - edgeRouterRoles: - $ref: '#/definitions/roles' - name: - type: string - semantic: - $ref: '#/definitions/semantic' - serviceRoles: - $ref: '#/definitions/roles' - tags: - $ref: '#/definitions/tags' - serviceEdgeRouterPolicyUpdate: - type: object - required: - - name - - semantic - properties: - edgeRouterRoles: - $ref: '#/definitions/roles' - name: - type: string - semantic: - $ref: '#/definitions/semantic' - serviceRoles: - $ref: '#/definitions/roles' - tags: - $ref: '#/definitions/tags' - serviceList: - type: array - items: - $ref: '#/definitions/serviceDetail' - servicePatch: - type: object - properties: - configs: - type: array - items: - type: string - encryptionRequired: - description: Describes whether connections must support end-to-end encryption - on both sides of the connection. Read-only property, set at create. - type: boolean - name: - type: string - roleAttributes: - type: array - items: - type: string - tags: - $ref: '#/definitions/tags' - terminatorStrategy: - type: string - servicePolicyCreate: - type: object - required: - - name - - type - - semantic - properties: - identityRoles: - $ref: '#/definitions/roles' - name: - type: string - postureCheckRoles: - $ref: '#/definitions/roles' - semantic: - $ref: '#/definitions/semantic' - serviceRoles: - $ref: '#/definitions/roles' - tags: - $ref: '#/definitions/tags' - type: - $ref: '#/definitions/dialBind' - servicePolicyDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - - type - - semantic - - serviceRoles - - serviceRolesDisplay - - identityRoles - - identityRolesDisplay - - postureCheckRoles - - postureCheckRolesDisplay - properties: - identityRoles: - $ref: '#/definitions/roles' - identityRolesDisplay: - $ref: '#/definitions/namedRoles' - name: - type: string - postureCheckRoles: - $ref: '#/definitions/roles' - postureCheckRolesDisplay: - $ref: '#/definitions/namedRoles' - semantic: - $ref: '#/definitions/semantic' - serviceRoles: - $ref: '#/definitions/roles' - serviceRolesDisplay: - $ref: '#/definitions/namedRoles' - type: - $ref: '#/definitions/dialBind' - servicePolicyList: - type: array - items: - $ref: '#/definitions/servicePolicyDetail' - servicePolicyPatch: - type: object - properties: - identityRoles: - $ref: '#/definitions/roles' - name: - type: string - postureCheckRoles: - $ref: '#/definitions/roles' - semantic: - $ref: '#/definitions/semantic' - serviceRoles: - $ref: '#/definitions/roles' - tags: - $ref: '#/definitions/tags' - type: - $ref: '#/definitions/dialBind' - servicePolicyUpdate: - type: object - required: - - name - - type - - semantic - properties: - identityRoles: - $ref: '#/definitions/roles' - name: - type: string - postureCheckRoles: - $ref: '#/definitions/roles' - semantic: - $ref: '#/definitions/semantic' - serviceRoles: - $ref: '#/definitions/roles' - tags: - $ref: '#/definitions/tags' - type: - $ref: '#/definitions/dialBind' - serviceUpdate: - type: object - required: - - name - properties: - configs: - type: array - items: - type: string - encryptionRequired: - description: Describes whether connections must support end-to-end encryption - on both sides of the connection. Read-only property, set at create. - type: boolean - name: - type: string - roleAttributes: - type: array - items: - type: string - tags: - $ref: '#/definitions/tags' - terminatorStrategy: - type: string - sessionDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - type - - apiSessionId - - apiSession - - serviceId - - service - - token - - edgeRouters - - identityId - properties: - apiSession: - $ref: '#/definitions/entityRef' - apiSessionId: - type: string - edgeRouters: - type: array - items: - $ref: '#/definitions/sessionEdgeRouter' - identityId: - type: string - service: - $ref: '#/definitions/entityRef' - serviceId: - type: string - token: - type: string - type: - $ref: '#/definitions/dialBind' - sessionEdgeRouter: - allOf: - - $ref: '#/definitions/commonEdgeRouterProperties' - - type: object - required: - - urls - properties: - urls: - type: object - additionalProperties: - type: string - sessionManagementDetail: - allOf: - - $ref: '#/definitions/sessionDetail' - - type: object - properties: - servicePolicies: - type: array - items: - $ref: '#/definitions/entityRef' - sessionManagementList: - type: array - items: - $ref: '#/definitions/sessionManagementDetail' - sessionRoutePathDetail: - type: object - properties: - routePath: - type: array - items: - type: string - specBodyDetail: - type: string - specDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - name - properties: - name: - type: string - specList: - type: array - items: - $ref: '#/definitions/specDetail' - subTags: - type: object - additionalProperties: - type: object - tags: - description: 'A map of user defined fields and values. The values are limited - to the following types/values: null, string, boolean' - allOf: - - $ref: '#/definitions/subTags' - x-nullable: true - terminatorCost: - type: integer - maximum: 65535 - minimum: 0 - terminatorCostMap: - type: object - additionalProperties: - $ref: '#/definitions/terminatorCost' - terminatorCreate: - type: object - required: - - service - - router - - address - - binding - properties: - address: - type: string - binding: - type: string - cost: - $ref: '#/definitions/terminatorCost' - identity: - type: string - identitySecret: - type: string - format: byte - precedence: - $ref: '#/definitions/terminatorPrecedence' - router: - type: string - service: - type: string - tags: - $ref: '#/definitions/tags' - terminatorDetail: - type: object - allOf: - - $ref: '#/definitions/baseEntity' - - type: object - required: - - serviceId - - service - - routerId - - router - - binding - - address - - identity - - cost - - precedence - - dynamicCost - properties: - address: - type: string - binding: - type: string - cost: - $ref: '#/definitions/terminatorCost' - dynamicCost: - $ref: '#/definitions/terminatorCost' - identity: - type: string - precedence: - $ref: '#/definitions/terminatorPrecedence' - router: - $ref: '#/definitions/entityRef' - routerId: - type: string - service: - $ref: '#/definitions/entityRef' - serviceId: - type: string - terminatorList: - type: array - items: - $ref: '#/definitions/terminatorDetail' - terminatorPatch: - type: object - properties: - address: - type: string - binding: - type: string - cost: - $ref: '#/definitions/terminatorCost' - precedence: - $ref: '#/definitions/terminatorPrecedence' - router: - type: string - service: - type: string - tags: - $ref: '#/definitions/tags' - terminatorPrecedence: - type: string - enum: - - default - - required - - failed - terminatorPrecedenceMap: - type: object - additionalProperties: - $ref: '#/definitions/terminatorPrecedence' - terminatorUpdate: - type: object - required: - - service - - router - - address - - binding - properties: - address: - type: string - binding: - type: string - cost: - $ref: '#/definitions/terminatorCost' - precedence: - $ref: '#/definitions/terminatorPrecedence' - router: - type: string - service: - type: string - tags: - $ref: '#/definitions/tags' - traceDetail: - type: object - properties: - enabled: - type: boolean - traceId: - type: string - until: - type: string - format: date-time - traceDetailEnvelope: - type: object - required: - - meta - - data - properties: - data: - $ref: '#/definitions/traceDetail' - meta: - $ref: '#/definitions/meta' - traceSpec: - type: object - properties: - channels: - type: array - items: - type: string - duration: - type: string - enabled: - type: boolean - traceId: - type: string - username: - type: string - maxLength: 100 - minLength: 4 - usernameNullable: - type: string - maxLength: 100 - minLength: 4 - x-nullable: true - version: - type: object - properties: - apiVersions: - type: object - additionalProperties: - type: object - additionalProperties: - $ref: '#/definitions/apiVersion' - buildDate: - type: string - example: "2020-02-11 16:09:08" - revision: - type: string - example: ea556fc18740 - runtimeVersion: - type: string - example: go1.13.5 - version: - type: string - example: v0.9.0 - versionInfo: - type: object - required: - - os - - version - - arch - - buildDate - - revision - properties: - arch: - type: string - buildDate: - type: string - os: - type: string - revision: - type: string - version: - type: string -securityDefinitions: - ztSession: - description: An API Key that is provided post authentication - type: apiKey - name: zt-session - in: header diff --git a/specs/source/client.yml b/specs/source/client.yml deleted file mode 100644 index d58e0c324..000000000 --- a/specs/source/client.yml +++ /dev/null @@ -1,132 +0,0 @@ ---- -swagger: '2.0' -info: - version: 0.25.5 - title: Ziti Edge Client - description: OpenZiti Edge Client API - contact: - name: OpenZiti - url: https://openziti.discourse.group - email: help@openziti.org - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html -host: demo.ziti.dev -basePath: /edge/client/v1 -schemes: - - https -consumes: - - application/json -produces: - - application/json -securityDefinitions: - ztSession: - type: apiKey - in: header - name: zt-session - description: An API Key that is provided post authentication - -paths: - '/': - $ref: 'shared/version.yml#/paths/root' - - '/.well-known/est/cacerts': - $ref: 'client/well-known.yml#/paths/well-known-est-cacerts' - - '/authenticate': - $ref: 'shared/authenticate.yml#/paths/authenticate' - '/authenticate/mfa': - $ref: 'shared/authenticate.yml#/paths/authenticate-mfa' - - '/current-api-session': - $ref: 'shared/current-api-session.yml#/paths/current-api-session' - '/current-api-session/certificates': - $ref: 'client/current-api-session-certificates.yml#/paths/current-api-session-certificates' - '/current-api-session/certificates/{id}': - $ref: 'client/current-api-session-certificates.yml#/paths/current-api-session-certificates-id' - '/current-api-session/service-updates': - $ref: 'client/current-api-session-service-updates.yml#/paths/current-api-session-service-updates' - - '/current-identity': - $ref: 'shared/current-identity.yml#/paths/current-identity' - '/current-identity/authenticators': - $ref: 'shared/current-identity-authenticators.yml#/paths/current-identity-authenticators' - '/current-identity/authenticators/{id}': - $ref: 'shared/current-identity-authenticators.yml#/paths/current-identity-authenticators-id' - '/current-identity/authenticators/{id}/extend': - $ref: 'shared/current-identity-authenticators.yml#/paths/current-identity-authenticators-id-extend' - '/current-identity/authenticators/{id}/extend-verify': - $ref: 'shared/current-identity-authenticators.yml#/paths/current-identity-authenticators-id-extend-verify' - - '/current-identity/edge-routers': - $ref: 'client/current-identity-edge-routers.yml#/paths/current-identity-edge-routers' - '/current-identity/mfa': - $ref: 'shared/current-identity-mfa.yml#/paths/current-identity-mfa' - '/current-identity/mfa/qr-code': - $ref: 'shared/current-identity-mfa.yml#/paths/current-identity-mfa-qr-code' - '/current-identity/mfa/verify': - $ref: 'shared/current-identity-mfa.yml#/paths/current-identity-mfa-verify' - '/current-identity/mfa/recovery-codes': - $ref: 'shared/current-identity-mfa.yml#/paths/current-identity-mfa-recovery-codes' - - '/enroll': - $ref: 'client/enroll.yml#/paths/enroll' - '/enroll/ca': - $ref: 'client/enroll.yml#/paths/enroll-ca' - '/enroll/ott': - $ref: 'client/enroll.yml#/paths/enroll-ott' - '/enroll/ottca': - $ref: 'client/enroll.yml#/paths/enroll-ottca' - '/enroll/updb': - $ref: 'client/enroll.yml#/paths/enroll-updb' - '/enroll/erott': - $ref: 'client/enroll.yml#/paths/enroll-erott' - '/enroll/extend/router': - $ref: 'client/enroll.yml#/paths/enroll-extend-router' - - '/external-jwt-signers': - $ref: 'client/ext-jwt-signers.yml#/paths/external-jwt-signers' - - '/posture-response': - $ref: 'client/posture-response.yml#/paths/posture-response' - '/posture-response-bulk': - $ref: 'client/posture-response.yml#/paths/posture-response-bulk' - - '/protocols': - $ref: 'client/protocols.yml#/paths/protocols' - - '/services': - $ref: 'client/services.yml#/paths/services' - '/services/{id}': - $ref: 'management/services.yml#/paths/services-id' - '/services/{id}/terminators': - $ref: 'client/services.yml#/paths/services-id-terminators' - - '/sessions': - $ref: 'client/sessions.yml#/paths/sessions' - '/sessions/{id}': - $ref: 'client/sessions.yml#/paths/sessions-id' - - '/specs': - $ref: 'shared/specs.yml#/paths/specs' - '/specs/{id}': - $ref: 'shared/specs.yml#/paths/specs-id' - '/specs/{id}/spec': - $ref: 'shared/specs.yml#/paths/specs-id-spec' - - '/version': - $ref: 'shared/version.yml#/paths/version' - -definitions: - # Polymorphic types are aren't explicitly used anywhere except here. Removal will cause them to be trimmed - - postureResponseOperatingSystemCreate: - $ref: 'client/posture-response.yml#/definitions/postureResponseOperatingSystemCreate' - postureResponseDomainCreate: - $ref: 'client/posture-response.yml#/definitions/postureResponseDomainCreate' - postureResponseMacAddressCreate: - $ref: 'client/posture-response.yml#/definitions/postureResponseMacAddressCreate' - postureResponseProcessCreate: - $ref: 'client/posture-response.yml#/definitions/postureResponseProcessCreate' - postureResponseEndpointStateCreate: - $ref: 'client/posture-response.yml#/definitions/postureResponseEndpointStateCreate' diff --git a/specs/source/client/current-api-session-certificates.yml b/specs/source/client/current-api-session-certificates.yml deleted file mode 100644 index 1c4297a6a..000000000 --- a/specs/source/client/current-api-session-certificates.yml +++ /dev/null @@ -1,169 +0,0 @@ ---- -paths: - current-api-session-certificates: - get: - summary: List the ephemeral certificates available for the current API Session - description: Retrieves a list of certificate resources for the current API session; supports filtering, sorting, and pagination - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: listCurrentApiSessionCertificates - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listCurrentApiSessionCertificates' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Creates an ephemeral certificate for the current API Session - description: Creates an ephemeral certificate for the current API Session. This endpoint - expects a PEM encoded CSRs to be provided for fulfillment as a property of a JSON payload. - It is up to the client to manage the private key backing the CSR request. - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: createCurrentApiSessionCertificate - parameters: - - name: sessionCertificate - in: body - required: true - description: The payload describing the CSR used to create a session certificate - schema: - $ref: '#/definitions/currentApiSessionCertificateCreate' - responses: - '201': - $ref: '#/responses/createCurrentApiSessionCertificateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - current-api-session-certificates-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves an ephemeral certificate - description: Retrieves a single ephemeral certificate by id - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: detailCurrentApiSessionCertificate - responses: - '200': - $ref: '#/responses/detailCurrentApiSessionCertificate' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete an ephemeral certificate - description: | - Delete an ephemeral certificateby id - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: deleteCurrentApiSessionCertificate - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listCurrentApiSessionCertificates: - description: A list of the current API Session's certificate - schema: - $ref: '#/definitions/listCurrentAPISessionCertificatesEnvelope' - createCurrentApiSessionCertificateResponse: - description: A response of a create API Session certificate - schema: - $ref: '#/definitions/createCurrentApiSessionCertificateEnvelope' - detailCurrentApiSessionCertificate: - description: A response containing a single API Session certificate - schema: - $ref: '#/definitions/detailCurrentApiSessionCertificateEnvelope' - -definitions: - listCurrentAPISessionCertificatesEnvelope: - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/currentApiSessionCertificateList' - createCurrentApiSessionCertificateEnvelope: - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/currentApiSessionCertificateCreateResponse' - detailCurrentApiSessionCertificateEnvelope: - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/currentApiSessionCertificateDetail' - currentApiSessionCertificateList: - type: array - items: - $ref: '#/definitions/currentApiSessionCertificateDetail' - currentApiSessionCertificateDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - subject - - fingerprint - - validFrom - - validTo - - certificate - properties: - subject: - type: string - fingerprint: - type: string - validFrom: - type: string - format: date-time - validTo: - type: string - format: date-time - certificate: - type: string - currentApiSessionCertificateCreate: - type: object - required: - - csr - properties: - csr: - type: string - currentApiSessionCertificateCreateResponse: - allOf: - - $ref: '../shared/standard-responses.yml#/definitions/createLocation' - - type: object - required: - - certificate - properties: - certificate: - type: string - cas: - type: string diff --git a/specs/source/client/current-api-session-service-updates.yml b/specs/source/client/current-api-session-service-updates.yml deleted file mode 100644 index 42ff842a3..000000000 --- a/specs/source/client/current-api-session-service-updates.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- -paths: - current-api-session-service-updates: - get: - summary: Returns data indicating whether a client should updates it service list - description: | - Retrieves data indicating the last time data relevant to this API Session was altered that would necessitate - service refreshes. - security: - - ztSession: [ ] - tags: - - Current API Session - - Services - operationId: listServiceUpdates - responses: - '200': - $ref: '#/responses/listCurrentApiSessionServiceUpdates' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listCurrentApiSessionServiceUpdates: - description: Data indicating necessary service updates - schema: - $ref: '#/definitions/listCurrentApiSessionServiceUpdatesEnvelope' - -definitions: - listCurrentApiSessionServiceUpdatesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/CurrentApiSessionServiceUpdateList' - CurrentApiSessionServiceUpdateList: - type: object - required: - - lastChangeAt - properties: - lastChangeAt: - type: string - format: 'date-time' \ No newline at end of file diff --git a/specs/source/client/current-identity-edge-routers.yml b/specs/source/client/current-identity-edge-routers.yml deleted file mode 100644 index 8d883d503..000000000 --- a/specs/source/client/current-identity-edge-routers.yml +++ /dev/null @@ -1,49 +0,0 @@ ---- -paths: - current-identity-edge-routers: - get: - summary: Return this list of Edge Routers the identity has access to - description: | - Lists the Edge Routers that the current identity has access to via policies. The data returned - includes their address and online status - security: - - ztSession: [ ] - tags: - - Current Identity - - Edge Router - operationId: getCurrentIdentityEdgeRouters - responses: - '200': - $ref: '#/responses/listCurrentIdentityEdgeRouters' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listCurrentIdentityEdgeRouters: - description: A list of edge routers - schema: - $ref: '#/definitions/listCurrentIdentityEdgeRoutersEnvelope' - -definitions: - listCurrentIdentityEdgeRoutersEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/currentIdentityEdgeRouterList' - - currentIdentityEdgeRouterList: - description: A list of edge router resources - type: array - items: - $ref: '#/definitions/currentIdentityEdgeRouterDetail' - currentIdentityEdgeRouterDetail: - description: A detail edge router resource - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - $ref: '../shared/edge-routers.yml#/definitions/commonEdgeRouterProperties' \ No newline at end of file diff --git a/specs/source/client/enroll.yml b/specs/source/client/enroll.yml deleted file mode 100644 index b9c37a94b..000000000 --- a/specs/source/client/enroll.yml +++ /dev/null @@ -1,201 +0,0 @@ ---- -paths: - enroll: - parameters: - - $ref: '../shared/parameters.yml#/token-optional' - post: - summary: Legacy enrollment endpoint - description: endpoint defers to the logic in the more specific `enroll/*` endpoints - operationId: enroll - tags: - - Enroll - consumes: - - application/pkcs10 - - application/json - - application/x-pem-file - - text/plain - produces: - #default to PEM for older clients that do not properly set/inspect accept/content-type headers - - application/x-pem-file - - application/json - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - enroll-ca: - post: - summary: Enroll an identity with a pre-exchanged certificate - description: | - For CA auto enrollment, an identity is not created beforehand. - Instead one will be created during enrollment. The client will present a client certificate that is signed by a - Certificate Authority that has been added and verified (See POST /cas and POST /cas/{id}/verify). - - During this process no CSRs are requires as the client should already be in possession of a valid certificate. - operationId: enrollCa - tags: - - Enroll - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - enroll-ott: - parameters: - - $ref: '../shared/parameters.yml#/token' - post: - summary: Enroll an identity via one-time-token - description: | - Enroll an identity via a one-time-token which is supplied via a query string parameter. This enrollment method - expects a PEM encoded CSRs to be provided for fulfillment. It is up to the enrolling identity to manage the - private key backing the CSR request. - operationId: enrollOtt - tags: - - Enroll - consumes: - - application/pkcs10 - produces: - - application/x-x509-user-cert - responses: - '200': - $ref: '#/responses/zitiSignedCert' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - enroll-ottca: - parameters: - - $ref: '../shared/parameters.yml#/token' - post: - summary: Enroll an identity via one-time-token with a pre-exchanged client certificate - description: | - Enroll an identity via a one-time-token that also requires a pre-exchanged client certificate to match a - Certificate Authority that has been added and verified (See POST /cas and POST /cas{id}/verify). The client - must present a client certificate signed by CA associated with the enrollment. This enrollment is similar to - CA auto enrollment except that is required the identity to be pre-created. - - As the client certificate has been pre-exchanged there is no CSR input to this enrollment method. - operationId: enrollOttCa - tags: - - Enroll - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - enroll-updb: - parameters: - - $ref: '../shared/parameters.yml#/token' - post: - summary: Enroll an identity via one-time-token - description: | - Enrolls an identity via a one-time-token to establish an initial username and password combination - operationId: ernollUpdb - tags: - - Enroll - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - enroll-erott: - parameters: - - $ref: '../shared/parameters.yml#/token' - post: - summary: Enroll an edge-router - description: | - Enrolls an edge-router via a one-time-token to establish a certificate based identity. - operationId: enrollErOtt - tags: - - Enroll - responses: - '200': - $ref: '#/responses/erottResponse' - enroll-extend-router: - post: - summary: Extend the life of a currently enrolled router's certificates - description: | - Allows a router to extend its certificates' expiration date by - using its current and valid client certificate to submit a CSR. This CSR may - be passed in using a new private key, thus allowing private key rotation or swapping. - - After completion any new connections must be made with certificates returned from a 200 OK - response. The previous client certificate is rendered invalid for use with the controller even if it - has not expired. - - This request must be made using the existing, valid, client certificate. - operationId: extendRouterEnrollment - parameters: - - name: routerExtendEnrollmentRequest - in: body - required: true - schema: - $ref: '#/definitions/routerExtendEnrollmentRequest' - tags: - - Enroll - - Extend Enrollment - responses: - '200': - $ref: '#/responses/routerExtendEnrollmentResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - erottResponse: - description: A response containing the edge routers signed certificates (server chain, server cert, CAs). - schema: - $ref: '#/definitions/enrollmentCertsEnvelope' - routerExtendEnrollmentResponse: - description: A response containg the edge routers new signed certificates (server chain, server cert, CAs). - schema: - $ref: '#/definitions/enrollmentCertsEnvelope' - zitiSignedCert: - description: A PEM encoded certificate signed by the internal Ziti CA - schema: - type: string - examples: - application/x-x509-user-cert: | - -----BEGIN CERTIFICATE----- - MIICzDCCAlGgAwIBAgIRAPkVg1jVKqnNGFpSB3lPbaIwCgYIKoZIzj0EAwIwXjEL - MAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5DMRMwEQYDVQQKDApOZXRGb3VuZHJ5MS0w - KwYDVQQDDCROZXRGb3VuZHJ5IFppdGkgRXh0ZXJuYWwgQVBJIFJvb3QgQ0EwHhcN - MTgxMTE1MTI1NzE3WhcNMTkxMTI1MTI1NzE3WjBrMQswCQYDVQQGEwJVUzELMAkG - A1UECAwCTkMxEjAQBgNVBAcMCUNoYXJsb3R0ZTETMBEGA1UECgwKTmV0Rm91bmRy - eTEPMA0GA1UECwwGQWR2RGV2MRUwEwYDVQQDDAxaaXRpQ2xpZW50MDEwdjAQBgcq - hkjOPQIBBgUrgQQAIgNiAATTl2ft+/K9RvDgki9gSr9udNcV2bxD4LrWEdCdXNzF - iVUiEcEte9z/M0JRt8lgo17OjFvS+ecrAmLtIZNmQnH3+9YeafjeNPpvQsMKxlTN - MnU7Hka11GHc6swQZSyHvlKjgcUwgcIwCQYDVR0TBAIwADARBglghkgBhvhCAQEE - BAMCBaAwMwYJYIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVkIENsaWVudCBD - ZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUtx+Tej6lSYdjb8Jbc2QuvoEsI/swHwYDVR0j - BBgwFoAUcdTlRrnP43ZbQ3PGAbZMPE26+H4wDgYDVR0PAQH/BAQDAgXgMB0GA1Ud - JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAKBggqhkjOPQQDAgNpADBmAjEAuXDS - H7KKMr+la+Yuh8d8Q9cLtXzdS0j6a8e7iOyPJmdWq2WuzNdbCfAfLgKXuxhSAjEA - sadZrXl1OBv11RGAKdYBIyRmfYUotCFAtCNKcfgBUxci0TDaKDA7r3jnjKT1d7Fs - -----END CERTIFICATE----- - -definitions: - enrollmentCertsEnvelope: - type: object - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/enrollmentCerts' - enrollmentCerts: - type: object - properties: - serverCert: - type: string - description: A PEM encoded set of certificates to use as the servers chain - cert: - type: string - description: A PEM encoded cert for the server - ca: - type: string - description: A PEM encoded set of CA certificates to trust - routerExtendEnrollmentRequest: - type: object - required: - - serverCertCsr - - certCsr - properties: - serverCertCsr: - type: string - certCsr: - type: string diff --git a/specs/source/client/ext-jwt-signers.yml b/specs/source/client/ext-jwt-signers.yml deleted file mode 100644 index ff5815ae4..000000000 --- a/specs/source/client/ext-jwt-signers.yml +++ /dev/null @@ -1,60 +0,0 @@ ---- -paths: - external-jwt-signers: - get: - summary: List Client Authentication External JWT - description: Retrieves a list of external JWT signers for authentication - security: - - ztSession: [ ] - tags: - - External JWT Signer - operationId: listExternalJwtSigners - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listClientExternalJwtSigners' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' -responses: - listClientExternalJwtSigners: - description: A list of External JWT Signers - schema: - $ref: '#/definitions/listClientExternalJwtSignersEnvelope' - -definitions: - listClientExternalJwtSignersEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/clientExternalJwtSignerList' - clientExternalJwtSignerList: - description: An array of External JWT Signers resources - type: array - items: - $ref: '#/definitions/clientExternalJwtSignerDetail' - clientExternalJwtSignerDetail: - description: A External JWT Signer resource - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - externalAuthUrl - properties: - name: - type: string - example: 'MyApps Signer' - externalAuthUrl: - type: string - format: url \ No newline at end of file diff --git a/specs/source/client/posture-response.yml b/specs/source/client/posture-response.yml deleted file mode 100644 index 291bfbea5..000000000 --- a/specs/source/client/posture-response.yml +++ /dev/null @@ -1,177 +0,0 @@ ---- -paths: - posture-response: - post: - summary: Submit a posture response to a posture query - description: Submits posture responses - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: createPostureResponse - parameters: - - name: postureResponse - in: body - required: true - description: A Posture Response - schema: - $ref: '#/definitions/postureResponseCreate' - responses: - '201': - $ref: '#/responses/postureResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - posture-response-bulk: - post: - summary: Submit multiple posture responses - description: Submits posture responses - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: createPostureResponseBulk - parameters: - - name: postureResponse - in: body - required: true - description: A Posture Response - schema: - # using a named array definition causes issues w/ code gen - type: array - items: - $ref: "#/definitions/postureResponseCreate" - responses: - '200': - $ref: '#/responses/postureResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' -responses: - postureResponse: - description: Contains a list of services that have had their timers altered - schema: - $ref: '#/definitions/postureResponseEnvelope' - -definitions: - postureResponseEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/postureResponse' - postureResponseService: - type: object - required: - - id - - name - - postureQueryType - - timeout - - timeoutRemaining - properties: - id: - type: string - name: - type: string - postureQueryType: - type: string - timeout: - type: integer - timeoutRemaining: - type: integer - postureResponse: - type: object - required: - - services - properties: - services: - type: array - items: - $ref: '#/definitions/postureResponseService' - postureResponseCreate: - type: object - discriminator: typeId - required: - - id - - typeId - properties: - id: - type: string - typeId: - $ref: '../shared/posture-checks.yml#/definitions/postureCheckType' - - postureResponseOperatingSystemCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - required: - - type - - version - properties: - type: - type: string - version: - type: string - build: - type: string - x-class: "OS" - - postureResponseDomainCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - required: - - domain - properties: - domain: - type: string - x-class: "DOMAIN" - - postureResponseMacAddressCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - required: - - macAddresses - properties: - macAddresses: - type: array - items: - type: string - x-class: "MAC" - - postureResponseProcessCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - required: - - process - properties: - path: - type: string - isRunning: - type: boolean - hash: - type: string - signerFingerprints: - type: array - items: - type: string - x-class: "PROCESS" - - postureResponseEndpointStateCreate: - allOf: - - $ref: '#/definitions/postureResponseCreate' - - type: object - properties: - unlocked: - type: boolean - woken: - type: boolean - x-class: "ENDPOINT_STATE" \ No newline at end of file diff --git a/specs/source/client/protocols.yml b/specs/source/client/protocols.yml deleted file mode 100644 index 91e2a7cd6..000000000 --- a/specs/source/client/protocols.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- -paths: - protocols: - get: - summary: Return a list of the listening Edge protocols - security: [ ] - tags: - - Informational - operationId: listProtocols - responses: - '200': - $ref: '#/responses/listProtocols' - -responses: - listProtocols: - description: A list of supported Edge protocols - schema: - $ref: '#/definitions/listProtocolsEnvelope' - -definitions: - listProtocolsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/listProtocols' - listProtocols: - type: object - additionalProperties: - $ref: '#/definitions/protocol' - protocol: - type: object - required: - - address - properties: - address: - type: string \ No newline at end of file diff --git a/specs/source/client/services.yml b/specs/source/client/services.yml deleted file mode 100644 index 748c0dcb7..000000000 --- a/specs/source/client/services.yml +++ /dev/null @@ -1,108 +0,0 @@ ---- -paths: - services: - get: - summary: List services - description: | - Retrieves a list of config resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServices - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - - $ref: '../shared/parameters.yml#/roleFilter' - - $ref: '../shared/parameters.yml#/roleSemantic' - responses: - '200': - $ref: '../shared/services.yml#/responses/listServices' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - services-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single service - description: Retrieves a single service by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: detailService - responses: - '200': - $ref: '../shared/services.yml#/responses/detailService' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - - services-id-terminators: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List of terminators assigned to a service - description: | - Retrieves a list of terminator resources that are assigned specific service; supports filtering, sorting, and pagination. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServiceTerminators - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listClientTerminators' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - -responses: - listClientTerminators: - description: A list of terminators - schema: - $ref: '#/definitions/listClientTerminatorsEnvelope' - -definitions: - listClientTerminatorsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/terminatorClientList' - terminatorClientList: - type: array - items: - $ref: '#/definitions/terminatorClientDetail' - terminatorClientDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - serviceId - - service - - routerId - - identity - properties: - serviceId: - type: string - service: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - routerId: - type: string - identity: - type: string \ No newline at end of file diff --git a/specs/source/client/sessions.yml b/specs/source/client/sessions.yml deleted file mode 100644 index 0c731295d..000000000 --- a/specs/source/client/sessions.yml +++ /dev/null @@ -1,107 +0,0 @@ ---- -paths: - sessions: - get: - summary: List sessions - description: | - Retrieves a list of active sessions resources; supports filtering, sorting, and pagination. - - Sessions are tied to an API session and are moved when an API session times out or logs out. Active sessions - (i.e. Ziti SDK connected to an edge router) will keep the session and API session marked as active. - security: - - ztSession: [ ] - tags: - - Session - operationId: listSessions - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '../shared/sessions.yml#/responses/listSessions' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a session resource - description: Create a session resource. - security: - - ztSession: [ ] - tags: - - Session - operationId: createSession - parameters: - - name: session - in: body - required: true - description: A session to create - schema: - $ref: '#/definitions/sessionCreate' - responses: - '201': - $ref: '#/responses/sessionCreateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - sessions-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single session - description: Retrieves a single session by id. - security: - - ztSession: [ ] - tags: - - Session - operationId: detailSession - responses: - '200': - $ref: '../shared/sessions.yml#/responses/detailSession' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a session - description: Delete a session by id. - security: - - ztSession: [ ] - tags: - - Session - operationId: deleteSession - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - -responses: - sessionCreateResponse: - description: The create request was successful and the resource has been added at the following location - schema: - $ref: '#/definitions/sessionCreateEnvelope' - -definitions: - sessionCreateEnvelope: - type: object - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '../shared/sessions.yml#/definitions/sessionDetail' - sessionCreate: - type: object - properties: - serviceId: - type: string - type: - $ref: '../shared/base-entity.yml#/definitions/dialBind' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' \ No newline at end of file diff --git a/specs/source/client/well-known.yml b/specs/source/client/well-known.yml deleted file mode 100644 index 51ca1c984..000000000 --- a/specs/source/client/well-known.yml +++ /dev/null @@ -1,87 +0,0 @@ ---- -paths: - well-known-est-cacerts: - get: - summary: Get CA Cert Store - description: | - This endpoint is used during enrollments to bootstrap trust between enrolling clients and the Ziti Edge API. - This endpoint returns a base64 encoded PKCS7 store. The content can be base64 decoded and parsed by any library - that supports parsing PKCS7 stores. - security: [ ] - tags: - - Well Known - operationId: listWellKnownCas - produces: - - application/pkcs7-mime - responses: - '200': - description: A base64 encoded PKCS7 store - schema: - type: string - example: | - MIIMUQYJKoZIhvcNAQcCoIIMQjCCDD4CAQExADALBgkqhkiG9w0BBwGgggwkMIIG - BjCCA+6gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZcxCzAJBgNVBAYTAlVTMRcw - FQYDVQQIDA5Ob3J0aCBDYXJvbGluYTESMBAGA1UEBwwJQ2hhcmxvdHRlMRMwEQYD - VQQKDApOZXRGb3VuZHJ5MSkwJwYDVQQLDCBOZXRGb3VuZHJ5IENlcnRpZmljYXRl - IEF1dGhvcml0eTEbMBkGA1UEAwwSTmV0Rm91bmRyeSBSb290IENBMB4XDTE4MDUx - ODE2NTcyM1oXDTI4MDUxNTE2NTcyM1owgYsxCzAJBgNVBAYTAlVTMRcwFQYDVQQI - DA5Ob3J0aCBDYXJvbGluYTETMBEGA1UECgwKTmV0Rm91bmRyeTEpMCcGA1UECwwg - TmV0Rm91bmRyeSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxIzAhBgNVBAMMGk5ldEZv - dW5kcnkgSW50ZXJtZWRpYXRlIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC - CgKCAgEAsb1EPhMUweS9WpjT7L54xAOmZqugJ6fhSrFfLUwNUy172q+ASvZTpT1z - KIPcZpGmPB3TX2bHaAR67BbRkUR11JgWE3U8+FsGrYmPZtaKM6fg8Mh0WZ41oMYQ - NJyQixOktrgqfybyJoT5PeT5AA7QQmd8mku2X9nkAu6gWPf2nHNc7SeQdijmyQQa - VK3oqyaxOzWzsU/XbfMEz/ObkefUxgt5Z6jlK0xcW0Q+QgtawMKLUiuo6obWRPcl - 7Hm9Sze8XJS5pbvS5JkUszxoRZuDVHZylrlHIpA/IL+BnvS+M7SP28UWe9skrv/s - 6ACpJtuPJ1EYf5fakugOpY7i+hq7YNi//csbc49Qjn2OtttrR7JcTaHUEU1I/tQb - QGAtNkI4pJjRVUdDawQFQlWHZD1COixNLErs2HzAI00DhLrY6SKITI/kjN0Xx010 - XdMcdfay0PLWm6RwxiRmMQFL4GNIC895NF1q6xV4W4rWgqUNlcvKpy+i1chWpRbU - He16ul0qh10fcESrRvAbXn5YrQJLrwbSr+85ubN8lYdNLE0qg2cIXZlUilarZZzW - ghtCe+KkUpjfRuAi/CqfSwNK3QXEfeVEK6S49mHeSekOizFIw7fmDhCz9vXwMOnb - ryRSLEJks0gIRcSDVChXheAqC98y4kcQdniNWFnqJXoqA+rrSokCAwEAAaNmMGQw - HQYDVR0OBBYEFK8UXC/sq6dGVFAqEXHsQDzqzwuUMB8GA1UdIwQYMBaAFEHz6RRu - OuXj2mwAzOeUinfWeivpMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQD - AgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBDAAaOE2Nbb49eOjyTNxIeOB+ZKQjJ1hUE - gRrootAA8NYbtKW/vyxTWnNi5XOGXd4DFS9OKZ0mL/7NyLc0mbTwPH2ZT8KTPUTS - Cpo6yktZ/7TMjyAtWZiOMg2EH+6m/nlNSXk/v5fb8+JQLdZfpxoA017dHh3tc8l7 - KOskCZNwQHgF/YMXrPXUNbsGkXRuJLtpjPw5O9GvPys7p+a1aJH1WCTly9zfB6j+ - rMF+UGCPDT30sxitVlohik83j6pKLgEAP/gi8nJbILlTP7ce+gJeHR2tfDvmK91X - 6QgCF2STUFBU7/9H1/pPRRykOxQpAd8xqSgqGEyp9Ie4tysZjwoUEnG8IVJ5ykrI - Fximvnb4B+LABV9WEo08n8m1R8wEryrISi8fBPn3Pr5nuayOfFLa15CLTkZF40FN - 8ika1qNZy8bWRDwTZJQUUb7VCheRWcMwdZdNmhl3J+VZLpQ+ruW7b2ajwacHz5Nw - BHKNcmxXb/4vHq/BnlcayHnSqT6036+OZQ+owDegcYmWV6LaM7xLErjHz2EE38M2 - YSiW5SU1zluDe+iHb6l3Gd3Fj/X1gkMWFgYh0XPMSUSyimLNYzy4THKzmWlcQNFo - LLiIDbLrMt+vk+vBkIsNTTPXRJOFPBhmIF6uIUj+2YhzNotX/pQtqMKms3pPlmHq - dH6biwygETCCBhYwggP+oAMCAQICCQDquKpymLJ5WzANBgkqhkiG9w0BAQsFADCB - lzELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRIwEAYDVQQH - DAlDaGFybG90dGUxEzARBgNVBAoMCk5ldEZvdW5kcnkxKTAnBgNVBAsMIE5ldEZv - dW5kcnkgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRswGQYDVQQDDBJOZXRGb3VuZHJ5 - IFJvb3QgQ0EwHhcNMTgwNTE4MTY1NDQ3WhcNMzgwNTEzMTY1NDQ3WjCBlzELMAkG - A1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRIwEAYDVQQHDAlDaGFy - bG90dGUxEzARBgNVBAoMCk5ldEZvdW5kcnkxKTAnBgNVBAsMIE5ldEZvdW5kcnkg - Q2VydGlmaWNhdGUgQXV0aG9yaXR5MRswGQYDVQQDDBJOZXRGb3VuZHJ5IFJvb3Qg - Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKq/Xa+749Cr3WJGYD - DIEtNKIRnTFc6TeiRSm/O7hG2+1Nrh/dObjZJuDjsopWP8NFA/DwlNyEphYKAeSw - HDmu+4nFd6ifoeDE2lYq6bNhLcgN+A3MlN5Phb2rnO32YYZwHXGWov+jtd2gaK0f - WsH8CQxn6n2v7qvPMTeYFP8p4jqTZw2bvZWw+LMYTFCy541DFqQLQasMg10mXRAV - XO7Oa9y+D1re1zLq4wS6u8ItJoKzfmvZkMvD90C/tQ4u0iJaL7GB2SE9MOPDeGVv - pnoSAIkSVmvRDUAj2x9PuukykzoL1OAWzc5Cg+5LxRmLejVE7PvPcHaTtNag2tRD - w2vbMeFKN8NvQH1QYcaPWZe4Vl9b6DAuTaH5RN919H/F+ZHyjZybVPwC14lflneI - KyNy8JEV/YMIbEADWnuiedzDehk2Opn+0+9Zr2X/xfjCo8iWHFbNaVnQX7wdRaOo - 783lEouncqe46FDBLBpyAuDKHQpIT3MK8rkC/1yBNxsH44vMweUZuK0u7PC9KHtm - pQfuflYGfxA34kY6WU3jzyQHetoLYjoxTqNEEjuGpwy2o1j7RaCBEFIbYlnlbhpE - WFTaQf96z2GQ6m1U3y7JyDflHSu9Fo1JNkG3qXsjDwda/6W7NRJRgdFrhnOwrm7F - 6L9X4P1HnzU/VJL66LwPmiHVjQIDAQABo2MwYTAdBgNVHQ4EFgQUQfPpFG465ePa - bADM55SKd9Z6K+kwHwYDVR0jBBgwFoAUQfPpFG465ePabADM55SKd9Z6K+kwDwYD - VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB - ACfU74aKWROaxnue8tZb5PFkEbnDRcRrKXRhnptA0vrgB4ydnYxX9hEBZD8o6PBy - 3rewvl5meSOBE6zyb4JD80lHdzHSVFIwbzsNOeEjCslv/PA/3Y+J7DCt6gPNMDeY - uEssdqeSiMoYz2gnven4flSMKgTAJd3/SpVrn35HzXiU9MkmFVpPEMnTctOjw+Jn - cCkG5+D9N14dxtgZ/tUfbH+GUfhyGVxRdPrX5KQqAyapMfEaMXXa8KNs7PG+sDiS - WI+Sg9jUGtxgkfKdVNtFW+QMXyy7eT3iXPA+1r2hFAhgfIaGtBJUhxPHMhKtjbAg - AX+6+2D3GAbaD1+lcQHhKry3hygQ3OX79FJW6zyPS0tiV/LfovHqX/3x9q5PTVBO - wEOS2/LCc4R2M7S+HIPf4eSJ+nH4uCIdJ42WCror/mRsuL7geCksi70GHuCynP4y - qQFszu/UtbBEsN8loTnLpOInxaGB1Y8UPm14b2Lo1/3HkoMVh0/UaHJ0TmnZ1r7m - fGhfRyAZYRdvT1sB+Eb4b5A2zEZqsTc9IwFOhnI4ZilPoZ5s2xejqrVw3GSvovEh - dprrQmvxuh+VQ23y/+/4z9b2xWyDu2zVveB4whqPe2rkgxJrEl4GfLk2DW+dN6j8 - 3Zl4lPoUZYwzkC6raCaHyFlAoaTbqz0H6rvVJYxJPS6UoQAxAA== diff --git a/specs/source/management.yml b/specs/source/management.yml deleted file mode 100644 index ad31cf268..000000000 --- a/specs/source/management.yml +++ /dev/null @@ -1,344 +0,0 @@ ---- -swagger: '2.0' -info: - version: 0.25.5 - title: Ziti Edge Management - description: OpenZiti Edge Management API - contact: - name: OpenZiti - url: https://openziti.discourse.group - email: help@openziti.org - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html -host: demo.ziti.dev -basePath: /edge/management/v1 -schemes: - - https -consumes: - - application/json -produces: - - application/json -securityDefinitions: - ztSession: - type: apiKey - in: header - name: zt-session - description: An API Key that is provided post authentication - -paths: - '/': - $ref: 'shared/version.yml#/paths/root' - - '/api-sessions': - $ref: 'management/api-sessions.yml#/paths/api-sessions' - '/api-sessions/{id}': - $ref: 'management/api-sessions.yml#/paths/api-sessions-id' - - '/authenticate': - $ref: 'shared/authenticate.yml#/paths/authenticate' - '/authenticate/mfa': - $ref: 'shared/authenticate.yml#/paths/authenticate-mfa' - - '/authenticators': - $ref: 'management/authenticators.yml#/paths/authenticators' - '/authenticators/{id}': - $ref: 'management/authenticators.yml#/paths/authenticators-id' - '/authenticators/{id}/re-enroll': - $ref: 'management/authenticators.yml#/paths/authenticators-id-re-enroll' - - '/auth-policies': - $ref: 'management/auth-policies.yml#/paths/auth-policies' - '/auth-policies/{id}': - $ref: 'management/auth-policies.yml#/paths/auth-policies-id' - - '/cas': - $ref: 'management/cas.yml#/paths/cas' - '/cas/{id}': - $ref: 'management/cas.yml#/paths/cas-id' - '/cas/{id}/jwt': - $ref: 'management/cas.yml#/paths/cas-id-jwt' - '/cas/{id}/verify': - $ref: 'management/cas.yml#/paths/cas-id-verify' - - '/config-types': - $ref: 'management/config-types.yml#/paths/config-types' - '/config-types/{id}': - $ref: 'management/config-types.yml#/paths/config-types-id' - '/config-types/{id}/configs': - $ref: 'management/config-types.yml#/paths/config-types-id-configs' - - '/configs': - $ref: 'management/configs.yml#/paths/configs' - '/configs/{id}': - $ref: 'management/configs.yml#/paths/configs-id' - - '/current-api-session': - $ref: 'shared/current-api-session.yml#/paths/current-api-session' - - '/current-identity': - $ref: 'shared/current-identity.yml#/paths/current-identity' - '/current-identity/authenticators': - $ref: 'shared/current-identity-authenticators.yml#/paths/current-identity-authenticators' - '/current-identity/authenticators/{id}': - $ref: 'shared/current-identity-authenticators.yml#/paths/current-identity-authenticators-id' - '/current-identity/authenticators/{id}/extend': - $ref: 'shared/current-identity-authenticators.yml#/paths/current-identity-authenticators-id-extend' - '/current-identity/authenticators/{id}/extend-verify': - $ref: 'shared/current-identity-authenticators.yml#/paths/current-identity-authenticators-id-extend-verify' - '/current-identity/mfa': - $ref: 'shared/current-identity-mfa.yml#/paths/current-identity-mfa' - '/current-identity/mfa/qr-code': - $ref: 'shared/current-identity-mfa.yml#/paths/current-identity-mfa-qr-code' - '/current-identity/mfa/verify': - $ref: 'shared/current-identity-mfa.yml#/paths/current-identity-mfa-verify' - '/current-identity/mfa/recovery-codes': - $ref: 'shared/current-identity-mfa.yml#/paths/current-identity-mfa-recovery-codes' - - '/database/snapshot': - $ref: 'management/database.yml#/paths/database-snapshot' - /database/check-data-integrity: - $ref: 'management/database.yml#/paths/database-check-data-integrity' - /database/fix-data-integrity: - $ref: 'management/database.yml#/paths/database-fix-data-integrity' - /database/data-integrity-results: - $ref: 'management/database.yml#/paths/database-data-integrity-results' - - '/edge-router-role-attributes': - $ref: 'management/role-attributes.yml#/paths/edge-router-role-attributes' - - '/edge-routers': - $ref: 'management/edge-routers.yml#/paths/edge-routers' - '/edge-routers/{id}': - $ref: 'management/edge-routers.yml#/paths/edge-routers-id' - '/edge-routers/{id}/edge-router-policies': - $ref: 'management/edge-routers.yml#/paths/edge-routers-id-edge-router-policies' - '/edge-routers/{id}/identities': - $ref: 'management/edge-routers.yml#/paths/edge-routers-id-identities' - '/edge-routers/{id}/service-edge-router-policies': - $ref: 'management/edge-routers.yml#/paths/edge-routers-id-service-edge-router-policies' - '/edge-routers/{id}/services': - $ref: 'management/edge-routers.yml#/paths/edge-routers-id-services' - '/edge-routers/{id}/re-enroll': - $ref: 'management/edge-routers.yml#/paths/edge-routers-id-re-enroll' - - '/edge-router-policies': - $ref: 'management/edge-router-policies.yml#/paths/edge-router-policies' - '/edge-router-policies/{id}': - $ref: 'management/edge-router-policies.yml#/paths/edge-router-policies-id' - '/edge-router-policies/{id}/edge-routers': - $ref: 'management/edge-router-policies.yml#/paths/edge-router-policies-id-edge-routers' - '/edge-router-policies/{id}/identities': - $ref: 'management/edge-router-policies.yml#/paths/edge-router-policies-id-identities' - - '/enrollments': - $ref: 'management/enrollments.yml#/paths/enrollments' - '/enrollments/{id}': - $ref: 'management/enrollments.yml#/paths/enrollments-id' - '/enrollments/{id}/refresh': - $ref: 'management/enrollments.yml#/paths/enrollments-id-refresh' - - '/external-jwt-signers': - $ref: 'management/ext-jwt-signers.yml#/paths/external-jwt-signers' - '/external-jwt-signers/{id}': - $ref: 'management/ext-jwt-signers.yml#/paths/external-jwt-signers-id' - - '/identities': - $ref: 'management/identities.yml#/paths/identities' - '/identities/{id}': - $ref: 'management/identities.yml#/paths/identities-id' - '/identities/{id}/authenticators': - $ref: "management/identities.yml#/paths/identities-id-authenticators" - '/identities/{id}/enrollments': - $ref: "management/identities.yml#/paths/identities-id-enrollments" - '/identities/{id}/disable': - $ref: "management/identities.yml#/paths/identities-id-disable" - '/identities/{id}/enable': - $ref: "management/identities.yml#/paths/identities-id-enable" - '/identities/{id}/edge-router-policies': - $ref: 'management/identities.yml#/paths/identities-id-edge-router-policies' - '/identities/{id}/service-configs': - $ref: 'management/identities.yml#/paths/identities-id-service-configs' - '/identities/{id}/service-policies': - $ref: 'management/identities.yml#/paths/identities-id-service-policies' - '/identities/{id}/edge-routers': - $ref: 'management/identities.yml#/paths/identities-id-edge-routers' - '/identities/{id}/services': - $ref: 'management/identities.yml#/paths/identities-id-services' - '/identities/{id}/policy-advice/{serviceId}': - $ref: 'management/identities.yml#/paths/identities-id-policy-advice-service-id' - '/identities/{id}/posture-data': - $ref: 'management/identities.yml#/paths/identities-id-posture-data' - '/identities/{id}/failed-service-requests': - $ref: 'management/identities.yml#/paths/identities-id-failed-service-requests' - '/identities/{id}/mfa': - $ref: 'management/identities.yml#/paths/identities-id-mfa' - '/identities/{id}/trace': - $ref: 'management/identities.yml#/paths/identities-id-trace' - - '/identity-role-attributes': - $ref: 'management/role-attributes.yml#/paths/identity-role-attributes' - - '/identity-types': - $ref: 'management/identity-types.yml#/paths/identity-types' - '/identity-types/{id}': - $ref: 'management/identity-types.yml#/paths/identity-types-id' - - '/posture-checks': - $ref: 'management/posture-checks.yml#/paths/posture-checks' - '/posture-checks/{id}': - $ref: 'management/posture-checks.yml#/paths/posture-checks-id' - - '/posture-check-types': - $ref: 'management/posture-check-types.yml#/paths/posture-check-types' - '/posture-check-types/{id}': - $ref: 'management/posture-check-types.yml#/paths/posture-check-types-id' - - '/service-edge-router-policies': - $ref: 'management/service-edge-router-policies.yml#/paths/service-edge-router-policies' - '/service-edge-router-policies/{id}': - $ref: 'management/service-edge-router-policies.yml#/paths/service-edge-router-policies-id' - '/service-edge-router-policies/{id}/edge-routers': - $ref: 'management/service-edge-router-policies.yml#/paths/service-edge-router-policies-id-edge-routers' - '/service-edge-router-policies/{id}/services': - $ref: 'management/service-edge-router-policies.yml#/paths/service-edge-router-policies-id-services' - - '/service-role-attributes': - $ref: 'management/role-attributes.yml#/paths/service-role-attributes' - - '/service-policies': - $ref: 'management/service-policies.yml#/paths/service-policies' - '/service-policies/{id}': - $ref: 'management/service-policies.yml#/paths/service-policies-id' - '/service-policies/{id}/identities': - $ref: 'management/service-policies.yml#/paths/service-policies-id-identities' - '/service-policies/{id}/services': - $ref: 'management/service-policies.yml#/paths/service-policies-id-services' - '/service-policies/{id}/posture-checks': - $ref: 'management/service-policies.yml#/paths/service-policies-id-posture-checks' - - '/services': - $ref: 'management/services.yml#/paths/services' - '/services/{id}': - $ref: 'management/services.yml#/paths/services-id' - '/services/{id}/configs': - $ref: 'management/services.yml#/paths/services-id-configs' - '/services/{id}/service-edge-router-policies': - $ref: 'management/services.yml#/paths/services-id-service-edge-router-policies' - '/services/{id}/service-policies': - $ref: 'management/services.yml#/paths/services-id-service-policies' - '/services/{id}/identities': - $ref: 'management/services.yml#/paths/services-id-identities' - '/services/{id}/edge-routers': - $ref: 'management/services.yml#/paths/services-id-edge-routers' - '/services/{id}/terminators': - $ref: 'management/services.yml#/paths/services-id-terminators' - - '/sessions': - $ref: 'management/sessions.yml#/paths/sessions' - '/sessions/{id}': - $ref: 'management/sessions.yml#/paths/sessions-id' - '/sessions/{id}/route-path': - $ref: 'management/sessions.yml#/paths/sessions-id-route-path' - - '/specs': - $ref: 'shared/specs.yml#/paths/specs' - '/specs/{id}': - $ref: 'shared/specs.yml#/paths/specs-id' - '/specs/{id}/spec': - $ref: 'shared/specs.yml#/paths/specs-id-spec' - - '/summary': - $ref: 'management/summary.yml#/paths/summary' - - '/terminators': - $ref: 'management/terminators.yml#/paths/terminators' - '/terminators/{id}': - $ref: 'management/terminators.yml#/paths/terminators-id' - - '/routers': - $ref: 'management/routers.yml#/paths/routers' - '/transit-routers': - $ref: 'management/routers.yml#/paths/transit-routers' - '/routers/{id}': - $ref: 'management/routers.yml#/paths/routers-id' - '/transit-routers/{id}': - $ref: 'management/routers.yml#/paths/transit-routers-id' - - '/version': - $ref: 'shared/version.yml#/paths/version' - -definitions: - # Polymorphic types are aren't explicitly used anywhere except here. Removal will cause them to be trimmed - - postureCheckFailureMacAddress: - $ref: 'management/failed-service-request.yml#/definitions/postureCheckFailureMacAddress' - - postureCheckFailureDomain: - $ref: 'management/failed-service-request.yml#/definitions/postureCheckFailureDomain' - - postureCheckFailureOperatingSystem: - $ref: 'management/failed-service-request.yml#/definitions/postureCheckFailureOperatingSystem' - - postureCheckFailureProcess: - $ref: 'management/failed-service-request.yml#/definitions/postureCheckFailureProcess' - - postureCheckFailureProcessMulti: - $ref: 'management/failed-service-request.yml#/definitions/postureCheckFailureProcessMulti' - - postureCheckFailureMfa: - $ref: 'management/failed-service-request.yml#/definitions/postureCheckFailureMfa' - - postureCheckOperatingSystemDetail: - $ref: 'management/posture-checks.yml#/definitions/postureCheckOperatingSystemDetail' - postureCheckOperatingSystemCreate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckOperatingSystemCreate' - postureCheckOperatingSystemUpdate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckOperatingSystemUpdate' - postureCheckOperatingSystemPatch: - $ref: 'management/posture-checks.yml#/definitions/postureCheckOperatingSystemPatch' - - postureCheckDomainDetail: - $ref: 'management/posture-checks.yml#/definitions/postureCheckDomainDetail' - postureCheckDomainCreate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckDomainCreate' - postureCheckDomainUpdate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckDomainUpdate' - postureCheckDomainPatch: - $ref: 'management/posture-checks.yml#/definitions/postureCheckDomainPatch' - - postureCheckMacAddressDetail: - $ref: 'management/posture-checks.yml#/definitions/postureCheckMacAddressDetail' - postureCheckMacAddressCreate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckMacAddressCreate' - postureCheckMacAddressUpdate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckMacAddressUpdate' - postureCheckMacAddressPatch: - $ref: 'management/posture-checks.yml#/definitions/postureCheckMacAddressPatch' - - postureCheckProcessDetail: - $ref: 'management/posture-checks.yml#/definitions/postureCheckProcessDetail' - postureCheckProcessCreate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckProcessCreate' - postureCheckProcessUpdate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckProcessUpdate' - postureCheckProcessPatch: - $ref: 'management/posture-checks.yml#/definitions/postureCheckProcessPatch' - - postureCheckProcessMultiDetail: - $ref: 'management/posture-checks.yml#/definitions/postureCheckProcessMultiDetail' - postureCheckProcessMultiCreate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckProcessMultiCreate' - postureCheckProcessMultiUpdate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckProcessMultiUpdate' - postureCheckProcessMultiPatch: - $ref: 'management/posture-checks.yml#/definitions/postureCheckProcessMultiPatch' - - postureCheckMfaDetail: - $ref: 'management/posture-checks.yml#/definitions/postureCheckMfaDetail' - postureCheckMfaCreate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckMfaCreate' - postureCheckMfaUpdate: - $ref: 'management/posture-checks.yml#/definitions/postureCheckMfaUpdate' - postureCheckMfaPatch: - $ref: 'management/posture-checks.yml#/definitions/postureCheckMfaPatch' diff --git a/specs/source/management/api-sessions.yml b/specs/source/management/api-sessions.yml deleted file mode 100644 index 04e87718d..000000000 --- a/specs/source/management/api-sessions.yml +++ /dev/null @@ -1,70 +0,0 @@ ---- - -paths: - api-sessions: - get: - summary: List active API sessions - description: | - Returns a list of active API sessions. The resources can be sorted, filtered, and paginated. This endpoint - requries admin access. - security: - - ztSession: [ ] - tags: - - API Session - operationId: listAPISessions - produces: - - application/json; charset=utf-8 - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listAPISessions' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - api-sessions-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single API Session - description: Retrieves a single API Session by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - API Session - operationId: detailAPISessions - responses: - '200': - $ref: '#/responses/detailAPISession' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Deletes an API Sessions - description: Deletes and API sesion by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - API Session - operationId: deleteAPISessions - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '403': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listAPISessions: - description: A list of active API Sessions - schema: - $ref: '../shared/api-sessions.yml#/definitions/listAPISessionsEnvelope' - detailAPISession: - description: Retrieves a singular API Session by id - schema: - $ref: '../shared/api-sessions.yml#/definitions/detailApiSessionEnvelope' diff --git a/specs/source/management/auth-policies.yml b/specs/source/management/auth-policies.yml deleted file mode 100644 index 78af1f2dc..000000000 --- a/specs/source/management/auth-policies.yml +++ /dev/null @@ -1,350 +0,0 @@ ---- - -paths: - auth-policies: - get: - summary: List Auth Policies - description: Retrieves a list of Auth Policies - security: - - ztSession: [ ] - tags: - - Auth Policy - operationId: listAuthPolicies - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listAuthPolicies' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Creates an Auth Policy - description: Creates an Auth Policy. Requires admin access. - security: - - ztSession: [ ] - tags: - - Auth Policy - operationId: createAuthPolicy - parameters: - - name: authPolicy - in: body - required: true - description: An Auth Policy to create - schema: - $ref: '#/definitions/authPolicyCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - auth-policies-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single Auth Policy - description: Retrieves a single Auth Policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Auth Policy - operationId: detailAuthPolicy - responses: - '200': - $ref: '#/responses/detailAuthPolicy' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on an Auth Policy - description: Update all fields on an Auth Policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Auth Policy - operationId: updateAuthPolicy - parameters: - - name: authPolicy - in: body - required: true - description: An Auth Policy update object - schema: - $ref: '#/definitions/authPolicyUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on an Auth Policy - description: Update only the supplied fields on an Auth Policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Auth Policy - operationId: patchAuthPolicy - parameters: - - name: authPolicy - in: body - required: true - description: An Auth Policy patch object - schema: - $ref: '#/definitions/authPolicyPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete an Auth Policy - description: | - Delete an Auth Policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Auth Policy - operationId: deleteAuthPolicy - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' -responses: - listAuthPolicies: - description: A list of Auth Policies - schema: - $ref: '#/definitions/listAuthPoliciesEnvelope' - detailAuthPolicy: - description: A singular Auth Policy resource - schema: - $ref: '#/definitions/detailAuthPolicyEnvelope' - -definitions: - listAuthPoliciesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/authPolicyList' - detailAuthPolicyEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/authPolicyDetail' - authPolicyList: - description: An array of Auth Policies resources - type: array - items: - $ref: '#/definitions/authPolicyDetail' - authPolicyPrimary: - type: object - required: - - updb - - cert - - extJwt - properties: - updb: - $ref: '#/definitions/authPolicyPrimaryUpdb' - cert: - $ref: '#/definitions/authPolicyPrimaryCert' - extJwt: - $ref: '#/definitions/authPolicyPrimaryExtJwt' - authPolicyPrimaryUpdb: - type: object - required: - - allowed - - minPasswordLength - - requireSpecialChar - - requireNumberChar - - requireMixedCase - - maxAttempts - - lockoutDurationMinutes - properties: - allowed: - type: boolean - minPasswordLength: - type: integer - requireSpecialChar: - type: boolean - requireNumberChar: - type: boolean - requireMixedCase: - type: boolean - maxAttempts: - type: integer - lockoutDurationMinutes: - type: integer - authPolicyPrimaryCert: - type: object - required: - - allowed - - allowExpiredCerts - properties: - allowed: - type: boolean - allowExpiredCerts: - type: boolean - authPolicyPrimaryExtJwt: - type: object - required: - - allowed - - allowedSigners - properties: - allowed: - type: boolean - allowedSigners: - type: array - items: - type: string - authPolicySecondary: - type: object - required: - - requireTotp - properties: - requireTotp: - type: boolean - requireExtJwtSigner: - type: string - x-omit-empty: false - x-nullable: true - - authPolicyPrimaryPatch: - type: object - properties: - updb: - $ref: '#/definitions/authPolicyPrimaryUpdbPatch' - cert: - $ref: '#/definitions/authPolicyPrimaryCertPatch' - extJwt: - $ref: '#/definitions/authPolicyPrimaryExtJwtPatch' - authPolicyPrimaryUpdbPatch: - type: object - x-nullable: true - properties: - allowed: - type: boolean - x-nullable: true - minPasswordLength: - type: integer - x-nullable: true - requireSpecialChar: - type: boolean - x-nullable: true - requireNumberChar: - type: boolean - x-nullable: true - requireMixedCase: - type: boolean - x-nullable: true - maxAttempts: - type: integer - x-nullable: true - lockoutDurationMinutes: - type: integer - x-nullable: true - authPolicyPrimaryCertPatch: - type: object - x-nullable: true - properties: - allowed: - type: boolean - x-nullable: true - allowExpiredCerts: - type: boolean - x-nullable: true - authPolicyPrimaryExtJwtPatch: - type: object - x-nullable: true - properties: - allowed: - type: boolean - x-nullable: true - allowedSigners: - type: array - items: - type: string - x-nullable: true - authPolicySecondaryPatch: - type: object - x-nullable: true - properties: - requireTotp: - type: boolean - x-nullable: true - requireExtJwtSigner: - type: string - x-nullable: true - - authPolicyDetail: - description: A Auth Policy resource - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - primary - - secondary - properties: - name: - type: string - primary: - $ref: '#/definitions/authPolicyPrimary' - secondary: - $ref: '#/definitions/authPolicySecondary' - authPolicyCreate: - description: A Auth Policy resource - type: object - required: - - name - - primary - - secondary - properties: - name: - type: string - primary: - $ref: '#/definitions/authPolicyPrimary' - secondary: - $ref: '#/definitions/authPolicySecondary' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - authPolicyUpdate: - $ref: '#/definitions/authPolicyCreate' - authPolicyPatch: - description: A Auth Policy resource - type: object - properties: - name: - type: string - x-nullable: true - primary: - $ref: '#/definitions/authPolicyPrimaryPatch' - secondary: - $ref: '#/definitions/authPolicySecondaryPatch' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' \ No newline at end of file diff --git a/specs/source/management/authenticators.yml b/specs/source/management/authenticators.yml deleted file mode 100644 index 1ab940145..000000000 --- a/specs/source/management/authenticators.yml +++ /dev/null @@ -1,171 +0,0 @@ ---- - -paths: - authenticators: - get: - summary: List authenticators - description: | - Returns a list of authenticators associated to identities. The resources can be sorted, filtered, and paginated. - This endpoint requires admin access. - security: - - ztSession: [ ] - tags: - - Authenticator - operationId: listAuthenticators - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '../shared/authenticators.yml#/responses/listAuthenticators' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Creates an authenticator - description: | - Creates an authenticator for a specific identity. Requires admin access. - security: - - ztSession: [ ] - tags: - - Authenticator - operationId: createAuthenticator - parameters: - - name: authenticator - in: body - required: true - description: A Authenticator create object - schema: - $ref: '../shared/authenticators.yml#/definitions/authenticatorCreate' - responses: - '201': - description: The create was successful - schema: - $ref: '../shared/authenticators.yml#/definitions/authenticatorCreate' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - authenticators-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single authenticator - description: Retrieves a single authenticator by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Authenticator - operationId: detailAuthenticator - responses: - '200': - $ref: '../shared/authenticators.yml#/responses/detailAuthenticator' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on an authenticator - description: Update all fields on an authenticator by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Authenticator - operationId: updateAuthenticator - parameters: - - name: authenticator - in: body - required: true - description: 'An authenticator put object' - schema: - $ref: '../shared/authenticators.yml#/definitions/authenticatorUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on an authenticator - description: Update the supplied fields on an authenticator by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Authenticator - operationId: patchAuthenticator - parameters: - - name: authenticator - in: body - required: true - description: An authenticator patch object - schema: - $ref: '../shared/authenticators.yml#/definitions/authenticatorPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete an Authenticator - description: | - Delete an authenticator by id. Deleting all authenticators for an identity will make it impossible to log in. - Requires admin access. - security: - - ztSession: [ ] - tags: - - Authenticator - operationId: deleteAuthenticator - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - authenticators-id-re-enroll: - parameters: - - $ref: '../shared/parameters.yml#/id' - post: - summary: Reverts an authenticator to an enrollment - description: | - Allows an authenticator to be reverted to an enrollment and allows re-enrollment to occur. On success the - created enrollment record response is provided and the source authenticator record will be deleted. The - enrollment created depends on the authenticator. UPDB authenticators result in UPDB enrollments, CERT - authenticators result in OTT enrollments, CERT + CA authenticators result in OTTCA enrollments. - security: - - ztSession: [ ] - tags: - - Authenticator - operationId: reEnrollAuthenticator - parameters: - - name: reEnroll - in: body - required: true - description: A reEnrollment request - schema: - $ref: '#/definitions/reEnroll' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' -definitions: - reEnroll: - type: object - required: - - expiresAt - properties: - expiresAt: - type: string - format: date-time \ No newline at end of file diff --git a/specs/source/management/cas.yml b/specs/source/management/cas.yml deleted file mode 100644 index d87bc0205..000000000 --- a/specs/source/management/cas.yml +++ /dev/null @@ -1,452 +0,0 @@ ---- -paths: - cas: - get: - summary: List CAs - description: Retrieves a list of CA resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Certificate Authority - operationId: listCas - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listCas' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Creates a CA - description: Creates a CA in an unverified state. Requires admin access. - security: - - ztSession: [ ] - tags: - - Certificate Authority - operationId: createCa - - parameters: - - name: ca - in: body - required: true - description: A CA to create - schema: - $ref: '#/definitions/caCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - cas-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single CA - description: Retrieves a single CA by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Certificate Authority - operationId: detailCa - responses: - '200': - $ref: '#/responses/detailCa' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a CA - description: Update all fields on a CA by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Certificate Authority - operationId: updateCa - parameters: - - name: ca - in: body - required: true - description: A CA update object - schema: - $ref: '#/definitions/caUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a CA - description: Update only the supplied fields on a CA by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Certificate Authority - operationId: patchCa - parameters: - - name: ca - in: body - required: true - description: A CA patch object - schema: - $ref: '#/definitions/caPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a CA - description: | - Delete a CA by id. Deleting a CA will delete its associated certificate authenticators. This can make it - impossible for identities to authenticate if they no longer have any valid authenticators. Requires admin access. - security: - - ztSession: [ ] - tags: - - Certificate Authority - operationId: deleteCa - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - cas-id-jwt: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieve the enrollment JWT for a CA - description: | - For CA auto enrollment, the enrollment JWT is static and provided on each CA resource. This endpoint provides - the jwt as a text response. - security: - - ztSession: [ ] - tags: - - Certificate Authority - operationId: getCaJwt - produces: - - 'application/jwt' - responses: - '200': - description: The result is the JWT text to validate the CA - schema: - type: string - examples: - 'application/jwt': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbSI6ImNhIiwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6MTI - 4MC8ifQ.Ot6lhNBSOw8ygHytdI5l7WDf9EWadOj44UPvJ0c-8mJ54fClWM3uMZrAHSSfV6KmOSZOeBBJe4VlNyoD-_MOECP0BzYSnSQP3E - zJb0VlM-fFmGcKNGW157icyZNISfO43JL_Lw2QPBzTgikqSIj9eZnocC3BeAmZCHsVznnLfHWqDldcmuxnu-5MNOSrWV1x9iVcgLFlLHXK - 2PLA4qIiZmlQTrQjpHJmUaoJ07mnj8hMKzxB3wBG8kpazjEo7HDRCO06aBH4eqFgf_l0iT8Dzcb31jquWMGUoSXPhf4lVJh_FiNcR1wVx- - UiHLbG5h23Aqf1UJF-F38rc1FElKz0Zg' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - cas-id-verify: - parameters: - - $ref: '../shared/parameters.yml#/id' - post: - summary: Verify a CA - description: | - Allows a CA to become verified by submitting a certificate in PEM format that has been signed by the target CA. - The common name on the certificate must match the verificationToken property of the CA. Unverfieid CAs can not - be used for enrollment/authentication. Requires admin access. - security: - - ztSession: [ ] - tags: - - Certificate Authority - operationId: verifyCa - consumes: - - 'text/plain' - parameters: - - name: certificate - required: true - in: body - description: A PEM formatted certificate signed by the target CA with the common name matching the CA's validationToken - schema: - type: string - responses: - 200: - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' -responses: - listCas: - description: A list of Certificate Authorities (CAs) - schema: - $ref: '#/definitions/listCasEnvelope' - detailCa: - description: A singular Certificate Authority (CA) resource - schema: - $ref: '#/definitions/detailCaEnvelope' - -definitions: - externalIdClaim: - type: object - required: - - location - - matcher - - matcherCriteria - - parser - - parserCriteria - - index - properties: - location: - type: string - x-nullable: true - enum: - - COMMON_NAME - - SAN_URI - - SAN_EMAIL - matcher: - type: string - x-nullable: true - enum: - - ALL - - PREFIX - - SUFFIX - - SCHEME - matcherCriteria: - type: string - x-nullable: true - parser: - type: string - x-nullable: true - enum: - - NONE - - SPLIT - parserCriteria: - type: string - x-nullable: true - index: - type: integer - x-nullable: true - externalIdClaimPatch: - type: object - properties: - location: - type: string - x-nullable: true - enum: - - COMMON_NAME - - SAN_URI - - SAN_EMAIL - matcher: - type: string - x-nullable: true - enum: - - ALL - - PREFIX - - SUFFIX - - SCHEME - matcherCriteria: - type: string - x-nullable: true - parser: - type: string - x-nullable: true - enum: - - NONE - - SPLIT - parserCriteria: - type: string - x-nullable: true - index: - type: integer - x-nullable: true - listCasEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/caList' - detailCaEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/caDetail' - caList: - description: An array of Certificate Authority (CA) resources - type: array - items: - $ref: '#/definitions/caDetail' - caDetail: - description: A Certificate Authority (CA) resource - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - fingerprint - - certPem - - isVerified - - isAutoCaEnrollmentEnabled - - isOttCaEnrollmentEnabled - - isAuthEnabled - - identityRoles - - identityNameFormat - properties: - name: - type: string - fingerprint: - type: string - certPem: - type: string - isVerified: - type: boolean - example: false - verificationToken: - type: string - format: uuid - isAutoCaEnrollmentEnabled: - type: boolean - example: true - isOttCaEnrollmentEnabled: - type: boolean - example: true - isAuthEnabled: - type: boolean - example: true - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityNameFormat: - type: string - externalIdClaim: - $ref: '#/definitions/externalIdClaim' - caCreate: - description: A create Certificate Authority (CA) object - type: object - required: - - name - - certPem - - isAutoCaEnrollmentEnabled - - isOttCaEnrollmentEnabled - - isAuthEnabled - - identityRoles - properties: - name: - type: string - example: 'Test 3rd Party External CA' - isAutoCaEnrollmentEnabled: - type: boolean - example: true - isAuthEnabled: - type: boolean - example: true - isOttCaEnrollmentEnabled: - type: boolean - example: true - certPem: - type: string - example: | - -----BEGIN CERTIFICATE----- - MIICUjCCAdmgAwIBAgIJANooo7NB+dZZMAoGCCqGSM49BAMCMF4xCzAJBgNVBAYT - AlVTMQswCQYDVQQIDAJOQzETMBEGA1UECgwKTmV0Rm91bmRyeTEtMCsGA1UEAwwk - TmV0Rm91bmRyeSBaaXRpIEV4dGVybmFsIEFQSSBSb290IENBMB4XDTE4MTExNTEy - NTcwOVoXDTM4MTExMDEyNTcwOVowXjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5D - MRMwEQYDVQQKDApOZXRGb3VuZHJ5MS0wKwYDVQQDDCROZXRGb3VuZHJ5IFppdGkg - RXh0ZXJuYWwgQVBJIFJvb3QgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARwq61Z - Iaqbaw0PDt3frJZaHjkxfZhwYrykI1GlbRNd/jix03lVG9qvpN5Og9fQfFFcFmD/ - 3vCE9S6O0npm0mADQxcBcxbMRAH5dtBuCuiJW6qAAbPgiM32vqSxBiFt0KejYzBh - MB0GA1UdDgQWBBRx1OVGuc/jdltDc8YBtkw8Tbr4fjAfBgNVHSMEGDAWgBRx1OVG - uc/jdltDc8YBtkw8Tbr4fjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB - hjAKBggqhkjOPQQDAgNnADBkAjBDRxNZUaIVpkQKnAgJukl3ysd3/i7Z6hDyIEms - kllz/+ZvmdBp9iedV5o5BvJUggACMCv+UBFlJH7pmsOCo/F45Kk178YsCC7gaMxE - 1ZG1zveyMvsYsH04C9FndE6w2MLvlA== - -----END CERTIFICATE----- - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityNameFormat: - type: string - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - externalIdClaim: - $ref: '#/definitions/externalIdClaim' - x-nullable: true - caUpdate: - type: object - required: - - name - - isAutoCaEnrollmentEnabled - - isOttCaEnrollmentEnabled - - isAuthEnabled - - identityRoles - - identityNameFormat - properties: - name: - type: string - example: My CA - isAutoCaEnrollmentEnabled: - type: boolean - example: true - isOttCaEnrollmentEnabled: - type: boolean - example: true - isAuthEnabled: - type: boolean - example: true - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityNameFormat: - type: string - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - externalIdClaim: - $ref: '#/definitions/externalIdClaim' - x-nullable: true - caPatch: - type: object - properties: - name: - type: string - example: My CA - x-nullable: true - isAutoCaEnrollmentEnabled: - type: boolean - example: true - x-nullable: true - isOttCaEnrollmentEnabled: - type: boolean - example: true - x-nullable: true - isAuthEnabled: - type: boolean - example: true - x-nullable: true - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityNameFormat: - type: string - x-nullable: true - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - externalIdClaim: - $ref: '#/definitions/externalIdClaimPatch' diff --git a/specs/source/management/config-types.yml b/specs/source/management/config-types.yml deleted file mode 100644 index ab45eccd6..000000000 --- a/specs/source/management/config-types.yml +++ /dev/null @@ -1,238 +0,0 @@ ---- -paths: - config-types: - get: - summary: List config-types - description: | - Retrieves a list of config-type resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: listConfigTypes - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listConfigTypes' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a config-type. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: createConfigType - parameters: - - name: configType - in: body - required: true - description: A config-type to create - schema: - $ref: '#/definitions/configTypeCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - config-types-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single config-type - description: Retrieves a single config-type by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: detailConfigType - responses: - '200': - $ref: '#/responses/detailConfigType' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a config-type - description: Update all fields on a config-type by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: updateConfigType - parameters: - - name: configType - in: body - required: true - description: A config-type update object - schema: - $ref: '#/definitions/configTypeUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a config-type - description: Update the supplied fields on a config-type. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: patchConfigType - parameters: - - name: configType - in: body - required: true - description: A config-type patch object - schema: - $ref: '#/definitions/configTypePatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a config-type - description: Delete a config-type by id. Removing a configuration type that are in use will result in a 409 conflict HTTP status code and error. All configurations of a type must be removed first. - security: - - ztSession: [ ] - tags: - - Config - operationId: deleteConfigType - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - config-types-id-configs: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Lists the configs of a specific config-type - description: Lists the configs associated to a config-type. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: listConfigsForConfigType - responses: - '200': - $ref: 'configs.yml#/responses/listConfigs' - -responses: - listConfigTypes: - description: A list of config-types - schema: - $ref: '#/definitions/listConfigTypesEnvelope' - detailConfigType: - description: A singular config-type resource - schema: - $ref: '#/definitions/detailConfigTypeEnvelope' - -definitions: - listConfigTypesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/configTypeList' - detailConfigTypeEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/configTypeDetail' - configTypeList: - description: An array of config-type resources - type: array - items: - $ref: '#/definitions/configTypeDetail' - configTypeDetail: - description: A config-type resource - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - schema - properties: - name: - type: string - example: ziti-tunneler-server.v1 - schema: - description: A JSON schema to enforce configuration against - type: object - additionalProperties: true - configTypeCreate: - type: object - description: A config-type create object - required: - - name - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - example: ziti-tunneler-server.v1 - schema: - description: A JSON schema to enforce configuration against - type: object - additionalProperties: true - configTypeUpdate: - description: A config-type update object - type: object - required: - - name - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - example: ziti-tunneler-server.v1 - schema: - description: A JSON schema to enforce configuration against - type: object - additionalProperties: true - configTypePatch: - description: A config-type patch object - type: object - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - example: ziti-tunneler-server.v1 - schema: - description: A JSON schema to enforce configuration against - type: object - additionalProperties: true diff --git a/specs/source/management/configs.yml b/specs/source/management/configs.yml deleted file mode 100644 index 1ff2f5eb8..000000000 --- a/specs/source/management/configs.yml +++ /dev/null @@ -1,253 +0,0 @@ ---- -paths: - configs: - get: - summary: List configs - description: | - Retrieves a list of config resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: listConfigs - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listConfigs' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a config resource - description: Create a config resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: createConfig - parameters: - - name: config - in: body - required: true - description: A config to create - schema: - $ref: '#/definitions/configCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - configs-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single config - description: Retrieves a single config by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: detailConfig - responses: - '200': - $ref: '#/responses/detailConfig' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a config - description: Update all fields on a config by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: updateConfig - parameters: - - name: config - in: body - required: true - description: A config update object - schema: - $ref: '#/definitions/configUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a config - description: Update the supplied fields on a config. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: patchConfig - parameters: - - name: config - in: body - required: true - description: A config patch object - schema: - $ref: '#/definitions/configPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a config - description: Delete a config by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Config - operationId: deleteConfig - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - -responses: - listConfigs: - description: A list of configs - schema: - $ref: '#/definitions/listConfigsEnvelope' - detailConfig: - description: A singular config resource - schema: - $ref: '#/definitions/detailConfigEnvelope' - -definitions: - listConfigsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/configList' - detailConfigEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/configDetail' - configList: - description: An array of config resources - type: array - items: - $ref: '#/definitions/configDetail' - configDetail: - description: A config resource - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - configTypeId - - configType - - data - properties: - name: - type: string - configTypeId: - type: string - configType: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - data: - type: object - description: The data section of a config is based on the schema of its type - configCreate: - type: object - description: A config create object - required: - - name - - configTypeId - - data - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - example: default.ziti-tunneler-server.v1 - configTypeId: - type: string - description: The id of a config-type that the data section will match - data: - type: object - x-nullable: false - additionalProperties: true - description: Data payload is defined by the schema of the config-type defined in the type parameter - example: - name: test-config - configTypeId: cea49285-6c07-42cf-9f52-09a9b115c783 - data: - hostname: example.com - port: 80 - configUpdate: - type: object - description: A config update object - required: - - name - - data - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - example: default.ziti-tunneler-server.v1 - data: - type: object - x-nullable: false - additionalProperties: true - description: Data payload is defined by the schema of the config-type defined in the type parameter - example: - name: example-config-name - data: - hostname: example.com - port: 80 - configPatch: - type: object - description: A config patch object - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - example: default.ziti-tunneler-server.v1 - data: - type: object - additionalProperties: true - description: Data payload is defined by the schema of the config-type defined in the type parameter - example: - name: example-config-name - data: - hostname: example.com - port: 80 \ No newline at end of file diff --git a/specs/source/management/database.yml b/specs/source/management/database.yml deleted file mode 100644 index 77756088f..000000000 --- a/specs/source/management/database.yml +++ /dev/null @@ -1,123 +0,0 @@ ---- -paths: - database-snapshot: - post: - summary: Create a new database snapshot - description: Create a new database snapshot. Requires admin access. - security: - - ztSession: [ ] - tags: - - Database - operationId: createDatabaseSnapshot - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '429': - $ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse' - database-check-data-integrity: - post: - summary: Starts a data integrity scan on the datastore - description: Starts a data integrity scan on the datastore. Requires admin access. Only once instance may run at a time, including runs of fixDataIntegrity. - security: - - ztSession: [ ] - tags: - - Database - operationId: checkDataIntegrity - responses: - '202': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '429': - $ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse' - database-fix-data-integrity: - post: - summary: Runs a data integrity scan on the datastore, attempts to fix any issues it can and returns any found issues - description: Runs a data integrity scan on the datastore, attempts to fix any issues it can, and returns any found issues. Requires admin access. Only once instance may run at a time, including runs of checkDataIntegrity. - security: - - ztSession: [ ] - tags: - - Database - operationId: fixDataIntegrity - responses: - '202': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '429': - $ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - database-data-integrity-results: - get: - summary: Returns any results found from in-progress integrity checks - description: Returns any results found from in-progress integrity checks. Requires admin access. - security: - - ztSession: [ ] - tags: - - Database - operationId: dataIntegrityResults - responses: - '200': - $ref: '#/responses/dataIntegrityCheckResult' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - dataIntegrityCheckResult: - description: A list of data integrity issues found - schema: - $ref: '#/definitions/dataIntegrityCheckResultEnvelope' - -definitions: - dataIntegrityCheckResultEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/dataIntegrityCheckDetails' - dataIntegrityCheckDetails: - type: object - required: - - inProgress - - fixingErrors - - tooManyErrors - - startTime - - endTime - - error - - results - properties: - inProgress: - type: boolean - startTime: - type: string - format: date-time - endTime: - type: string - format: date-time - fixingErrors: - type: boolean - error: - type: string - tooManyErrors: - type: boolean - results: - $ref: '#/definitions/dataIntegrityCheckDetailList' - dataIntegrityCheckDetailList: - type: array - items: - $ref: '#/definitions/dataIntegrityCheckDetail' - dataIntegrityCheckDetail: - type: object - required: - - description - - fixed - properties: - description: - type: string - fixed: - type: boolean \ No newline at end of file diff --git a/specs/source/management/edge-router-policies.yml b/specs/source/management/edge-router-policies.yml deleted file mode 100644 index 748125adb..000000000 --- a/specs/source/management/edge-router-policies.yml +++ /dev/null @@ -1,272 +0,0 @@ ---- -paths: - edge-router-policies: - get: - summary: List edge router policies - description: | - Retrieves a list of edge router policy resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router Policy - operationId: listEdgeRouterPolicies - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listEdgeRouterPolicies' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create an edge router policy resource - description: Create an edge router policy resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router Policy - operationId: createEdgeRouterPolicy - parameters: - - name: policy - in: body - required: true - description: An edge router policy to create - schema: - $ref: '#/definitions/edgeRouterPolicyCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - edge-router-policies-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single edge router policy - description: Retrieves a single edge router policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router Policy - operationId: detailEdgeRouterPolicy - responses: - '200': - $ref: '#/responses/detailEdgeRouterPolicy' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on an edge router policy - description: Update all fields on an edge router policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router Policy - operationId: updateEdgeRouterPolicy - parameters: - - name: policy - in: body - required: true - description: An edge router policy update object - schema: - $ref: '#/definitions/edgeRouterPolicyUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on an edge router policy - description: Update the supplied fields on an edge router policy. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router Policy - operationId: patchEdgeRouterPolicy - parameters: - - name: policy - in: body - required: true - description: An edge router policy patch object - schema: - $ref: '#/definitions/edgeRouterPolicyPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete an edge router policy - description: Delete an edge router policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router Policy - operationId: deleteEdgeRouterPolicy - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - edge-router-policies-id-edge-routers: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List edge routers a policy affects - description: | - Retrieves a list of edge routers an edge router policy resources affects; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router Policy - operationId: listEdgeRouterPolicyEdgeRouters - responses: - '200': - $ref: 'edge-routers.yml#/responses/listEdgeRouters' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - edge-router-policies-id-identities: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List identities an edge router policy affects - description: | - Retrieves a list of identities an edge router policy resources affects; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router Policy - operationId: listEdgeRouterPolicyIdentities - responses: - '200': - $ref: 'identities.yml#/responses/listIdentities' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listEdgeRouterPolicies: - description: A list of edge router policies - schema: - $ref: '#/definitions/listEdgeRouterPoliciesEnvelope' - detailEdgeRouterPolicy: - description: A single edge router policy - schema: - $ref: '#/definitions/detailEdgeRouterPolicyEnvelope' - -definitions: - listEdgeRouterPoliciesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/edgeRouterPolicyList' - detailEdgeRouterPolicyEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/edgeRouterPolicyDetail' - edgeRouterPolicyCreate: - required: - - name - - semantic - properties: - name: - type: string - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - edgeRouterRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - edgeRouterPolicyUpdate: - required: - - name - - semantic - properties: - name: - type: string - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - edgeRouterRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - edgeRouterPolicyPatch: - properties: - name: - type: string - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - edgeRouterRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - edgeRouterPolicyList: - type: array - items: - $ref: '#/definitions/edgeRouterPolicyDetail' - edgeRouterPolicyDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - semantic - - edgeRouterRoles - - edgeRouterRolesDisplay - - identityRoles - - identityRolesDisplay - - isSystem - properties: - name: - type: string - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - edgeRouterRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - edgeRouterRolesDisplay: - $ref: '../shared/base-entity.yml#/definitions/namedRoles' - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityRolesDisplay: - $ref: '../shared/base-entity.yml#/definitions/namedRoles' - isSystem: - type: boolean \ No newline at end of file diff --git a/specs/source/management/edge-routers.yml b/specs/source/management/edge-routers.yml deleted file mode 100644 index 0b5cc81d8..000000000 --- a/specs/source/management/edge-routers.yml +++ /dev/null @@ -1,433 +0,0 @@ ---- - -paths: - edge-routers: - get: - summary: List edge routers - description: | - Retrieves a list of edge router resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: listEdgeRouters - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - - $ref: '../shared/parameters.yml#/roleFilter' - - $ref: '../shared/parameters.yml#/roleSemantic' - responses: - '200': - $ref: '#/responses/listEdgeRouters' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create an edge router - description: Create a edge router resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: createEdgeRouter - parameters: - - name: edgeRouter - in: body - required: true - description: A edge router to create - schema: - $ref: '#/definitions/edgeRouterCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - edge-routers-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single edge router - description: Retrieves a single edge router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: detailEdgeRouter - responses: - '200': - $ref: '#/responses/detailEdgeRouter' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on an edge router - description: Update all fields on an edge router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: updateEdgeRouter - parameters: - - name: edgeRouter - in: body - required: true - description: An edge router update object - schema: - $ref: '#/definitions/edgeRouterUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on an edge router - description: Update the supplied fields on an edge router. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: patchEdgeRouter - parameters: - - name: edgeRouter - in: body - required: true - description: An edge router patch object - schema: - $ref: '#/definitions/edgeRouterPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete an edge router - description: Delete an edge router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: deleteEdgeRouter - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - edge-routers-id-edge-router-policies: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List the edge router policies that affect an edge router - description: Retrieves a list of edge router policies that apply to the specified edge router. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: listEdgeRouterEdgeRouterPolicies - responses: - '200': - $ref: 'edge-router-policies.yml#/responses/listEdgeRouterPolicies' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - edge-routers-id-identities: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List associated identities - description: | - Retrieves a list of identities that may access services via the given edge router. Supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: listEdgeRouterIdentities - responses: - '200': - $ref: 'identities.yml#/responses/listIdentities' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - edge-routers-id-service-edge-router-policies: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List the service policies that affect an edge router - description: Retrieves a list of service policies policies that apply to the specified edge router. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: listEdgeRouterServiceEdgeRouterPolicies - responses: - '200': - $ref: 'service-policies.yml#/responses/listServicePolicies' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - edge-routers-id-services: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List associated services - description: | - Retrieves a list of services that may be accessed via the given edge router. Supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: listEdgeRouterServices - responses: - '200': - $ref: '../shared/services.yml#/responses/listServices' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - edge-routers-id-re-enroll: - parameters: - - $ref: '../shared/parameters.yml#/id' - post: - summary: Re-enroll an edge router - description: | - Removes current certificate based authentication mechanisms and reverts the edge router into a state where enrollment must be performed. - The router retains all other properties and associations. If the router is currently connected, it will be disconnected and any - attemps to reconnect will fail until the enrollment process is completed with the newly generated JWT. - - If the edge router has an existing outstanding enrollment JWT it will be replaced. The previous JWT will no longer be usable to - complete the enrollment process. - security: - - ztSession: [ ] - tags: - - Edge Router - operationId: reEnrollEdgeRouter - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' -responses: - listEdgeRouters: - description: A list of edge routers - schema: - $ref: '#/definitions/listEdgeRoutersEnvelope' - detailEdgeRouter: - description: A singular edge router resource - schema: - $ref: '#/definitions/detailedEdgeRouterEnvelope' - -definitions: - listEdgeRoutersEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/edgeRouterList' - detailedEdgeRouterEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/edgeRouterDetail' - edgeRouterCreate: - description: An edge router create object - type: object - required: - - name - properties: - name: - type: string - isTunnelerEnabled: - type: boolean - cost: - type: integer - x-nullable: true - minimum: 0 - maximum: 65535 - noTraversal: - type: boolean - x-nullable: true - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - appData: - $ref: '../shared/base-entity.yml#/definitions/tags' - - edgeRouterUpdate: - description: An edge router update object - type: object - required: - - name - properties: - name: - type: string - isTunnelerEnabled: - type: boolean - cost: - type: integer - x-nullable: true - minimum: 0 - maximum: 65535 - noTraversal: - type: boolean - x-nullable: true - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - appData: - $ref: '../shared/base-entity.yml#/definitions/tags' - - edgeRouterPatch: - description: An edge router patch object - type: object - properties: - name: - type: string - x-nullable: true - isTunnelerEnabled: - type: boolean - cost: - type: integer - x-nullable: true - minimum: 0 - maximum: 65535 - noTraversal: - type: boolean - x-nullable: true - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - appData: - $ref: '../shared/base-entity.yml#/definitions/tags' - edgeRouterList: - description: A list of edge router resources - type: array - items: - $ref: '#/definitions/edgeRouterDetail' - edgeRouterDetail: - description: A detail edge router resource - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - $ref: '../shared/edge-routers.yml#/definitions/commonEdgeRouterProperties' - - type: object - required: - - isVerified - - roleAttributes - - os - - version - - arch - - buildDate - - revision - - isTunnelerEnabled - properties: - isVerified: - type: boolean - enrollmentToken: - type: string - x-nullable: true - enrollmentJwt: - type: string - x-nullable: true - enrollmentCreatedAt: - type: string - format: date-time - x-nullable: true - enrollmentExpiresAt: - type: string - format: date-time - x-nullable: true - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - fingerprint: - type: string - certPem: - type: string - x-nullable: true - x-omitempty: false - unverifiedFingerprint: - type: string - x-nullable: true - x-omitempty: false - unverifiedCertPem: - type: string - x-nullable: true - x-omitempty: false - versionInfo: - $ref: '../shared/version.yml#/definitions/versionInfo' - isTunnelerEnabled: - type: boolean - example: - id: b0766b8d-bd1a-4d28-8415-639b29d3c83d - createdAt: '2020-03-16T17:13:31.5807454Z' - updatedAt: '2020-03-16T17:13:31.5807454Z' - _links: - edge-router-policies: - href: "./edge-routers/b0766b8d-bd1a-4d28-8415-639b29d3c83d/edge-routers" - self: - href: "./edge-routers/b0766b8d-bd1a-4d28-8415-639b29d3c83d" - tags: { } - name: TestRouter-e33c837f-3222-4b40-bcd6-b3458fd5156e - fingerprint: - roleAttributes: - - eastCoast - - sales - - test - isVerified: false - isOnline: false - isTunnelerEnabled: false - cost: 0 - noTraversal: false - enrollmentToken: 30a1f0ea-d39b-4aae-b852-304cf1c30d1f - enrollmentJwt: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbSI6ImVyb3R0IiwiZXhwIjoxNTg0Mzc5MTExLCJpc3MiOiJodHRwczovL - 2xvY2FsaG9zdDoxMjgwIiwianRpIjoiMzBhMWYwZWEtZDM5Yi00YWFlLWI4NTItMzA0Y2YxYzMwZDFmIiwic3ViIjoiYjA3NjZiOGQtYmQxYS00ZDI - 4LTg0MTUtNjM5YjI5ZDNjODNkIn0.UsyQhCPORQ5tQnYWY7S88LNvV9iFS5Hy-P4aJaClZzEICobKgnQoyQblJcdMvk3cGKwyFqAnQtt0tDZkb8tHz - Vqyv6bilHcAFuMRrdwXRqdXquabSN5geu2qBUnyzL7Mf2X85if8sbMida6snB4oLZsVRF3CRn4ODBJdeiVJ_Z4rgD-zW2IwtXPApT7ALyiiw2cN4EH - 8pqQ7tpZKqztE0PGEbBQFPGKUFnm7oXyvSUo17EsFJUv5gUlBzfKKGolh5io4ptp22HZrqsqSnqDSOnYEZHonr5Yljuwiktrlh-JKiK6GGns5OAJMP - dO9lgM4yHSpF2ILbqhWMV93Y3zMOg' - enrollmentCreatedAt: '2020-03-16T17:13:31.5777637Z' - enrollmentExpiresAt: '2020-03-16T17:18:31.5777637Z' - hostname: '' - supportedProtocols: { } - routerEntityRef: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/entityRef' - - type: object - required: - - isOnline - properties: - isOnline: - type: boolean \ No newline at end of file diff --git a/specs/source/management/enrollments.yml b/specs/source/management/enrollments.yml deleted file mode 100644 index 239dee831..000000000 --- a/specs/source/management/enrollments.yml +++ /dev/null @@ -1,239 +0,0 @@ ---- -paths: - enrollments: - get: - summary: List outstanding enrollments - description: | - Retrieves a list of outstanding enrollments; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Enrollment - operationId: listEnrollments - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listEnrollments' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create an outstanding enrollment for an identity - description: >- - Creates a new OTT, OTTCA, or UPDB enrollment for a specific identity. If an enrollment of the same type - is already outstanding the request will fail with a 409 conflict. If desired, an existing enrollment - can be refreshed by `enrollments/:id/refresh` or deleted. - security: - - ztSession: [ ] - tags: - - Enrollment - operationId: createEnrollment - parameters: - - name: enrollment - in: body - required: true - description: An enrollment to create - schema: - $ref: '#/definitions/enrollmentCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/conflictResponse' - enrollments-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves an outstanding enrollment - description: Retrieves a single outstanding enrollment by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Enrollment - operationId: detailEnrollment - responses: - '200': - $ref: '#/responses/detailEnrollment' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete an outstanding enrollment - description: Delete an outstanding enrollment by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Enrollment - operationId: deleteEnrollment - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - enrollments-id-refresh: - parameters: - - $ref: '../shared/parameters.yml#/id' - post: - summary: Refreshes an enrollment record's expiration window - description: >- - For expired or unexpired enrollments, reset the expiration window. A new JWT will be generated - and must be used for the enrollment. - security: - - ztSession: [ ] - tags: - - Enrollment - operationId: refreshEnrollment - parameters: - - name: refresh - in: body - required: true - description: An enrollment refresh request - schema: - $ref: '#/definitions/enrollmentRefresh' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' -responses: - listEnrollments: - description: A list of enrollments - schema: - $ref: '#/definitions/listEnrollmentsEnvelope' - detailEnrollment: - description: A singular enrollment resource - schema: - $ref: '#/definitions/detailEnrollmentEnvelope' - -definitions: - listEnrollmentsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/enrollmentList' - detailEnrollmentEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/enrollmentDetail' - enrollmentList: - description: An array of enrollment resources - type: array - items: - $ref: '#/definitions/enrollmentDetail' - enrollmentDetail: - type: object - description: | - An enrollment object. Enrollments are tied to identities and potentially a CA. Depending on the - method, different fields are utilized. For example ottca enrollments use the `ca` field and updb enrollments - use the username field, but not vice versa. - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - token - - method - - expiresAt - - details - properties: - token: - type: string - method: - type: string - expiresAt: - type: string - format: date-time - identityId: - type: string - caId: - type: string - x-nullable: true - identity: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - edgeRouterId: - type: string - edgeRouter: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - transitRouterId: - type: string - transitRouter: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - username: - type: string - jwt: - type: string - example: - id: 624fa53f-7629-4a7a-9e38-c1f4ce322c1d - createdAt: '0001-01-01T00:00:00Z' - updatedAt: '0001-01-01T00:00:00Z' - _links: - self: - href: './enrollments/624fa53f-7629-4a7a-9e38-c1f4ce322c1d' - tags: - token: 1e727c8f-07e4-4a1d-a8b0-da0c7a01c6e1 - method: updb - expiresAt: '2020-03-11T20:20:24.0055543Z' - identity: - urlName: identities - id: f047ac96-dc3a-408a-a6f2-0ba487c08ef9 - name: updb--0f245140-7f2e-4326-badf-6aba55e52475 - _links: - self: - href: './identities/f047ac96-dc3a-408a-a6f2-0ba487c08ef9' - ca: - username: example-username - enrollmentCreate: - type: object - required: - - method - - expiresAt - - identityId - properties: - method: - type: string - enum: - - ott - - ottca - - updb - expiresAt: - type: string - format: date-time - identityId: - type: string - caId: - type: string - x-nullable: true - username: - type: string - x-nullable: true - enrollmentRefresh: - type: object - required: - - expiresAt - properties: - expiresAt: - type: string - format: date-time \ No newline at end of file diff --git a/specs/source/management/ext-jwt-signers.yml b/specs/source/management/ext-jwt-signers.yml deleted file mode 100644 index 32146616e..000000000 --- a/specs/source/management/ext-jwt-signers.yml +++ /dev/null @@ -1,337 +0,0 @@ ---- -paths: - external-jwt-signers: - get: - summary: List External JWT Signers - description: Retrieves a list of external JWT signers for authentication - security: - - ztSession: [ ] - tags: - - External JWT Signer - operationId: listExternalJwtSigners - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listExternalJwtSigners' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Creates an External JWT Signer - description: Creates an External JWT Signer. Requires admin access. - security: - - ztSession: [ ] - tags: - - External JWT Signer - operationId: createExternalJwtSigner - parameters: - - name: externalJwtSigner - in: body - required: true - description: An External JWT Signer to create - schema: - $ref: '#/definitions/externalJwtSignerCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - external-jwt-signers-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single External JWT Signer - description: Retrieves a single External JWT Signer by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - External JWT Signer - operationId: detailExternalJwtSigner - responses: - '200': - $ref: '#/responses/detailExternalJwtSigner' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on an External JWT Signer - description: Update all fields on an External JWT Signer by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - External JWT Signer - operationId: updateExternalJwtSigner - parameters: - - name: externalJwtSigner - in: body - required: true - description: An External JWT Signer update object - schema: - $ref: '#/definitions/externalJwtSignerUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on an External JWT Signer - description: Update only the supplied fields on an External JWT Signer by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - External JWT Signer - operationId: patchExternalJwtSigner - parameters: - - name: externalJwtSigner - in: body - required: true - description: An External JWT Signer patch object - schema: - $ref: '#/definitions/externalJwtSignerPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete an External JWT Signer - description: | - Delete an External JWT Signer by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - External JWT Signer - operationId: deleteExternalJwtSigner - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' -responses: - listExternalJwtSigners: - description: A list of External JWT Signers - schema: - $ref: '#/definitions/listExternalJwtSignersEnvelope' - detailExternalJwtSigner: - description: A singular External JWT Signer resource - schema: - $ref: '#/definitions/detailExternalJwtSignerEnvelope' -definitions: - listExternalJwtSignersEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/externalJwtSignerList' - detailExternalJwtSignerEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/externalJwtSignerDetail' - externalJwtSignerList: - description: An array of External JWT Signers resources - type: array - items: - $ref: '#/definitions/externalJwtSignerDetail' - externalJwtSignerDetail: - description: A External JWT Signer resource - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - certPem - - jwksEndpoint - - enabled - - fingerprint - - commonName - - notAfter - - notBefore - - externalAuthUrl - - claimsProperty - - useExternalId - - kid - - issuer - - audience - properties: - name: - type: string - example: 'MyApps Signer' - certPem: - type: string - x-nullable: true - jwksEndpoint: - type: string - format: uri - x-nullable: true - enabled: - type: boolean - fingerprint: - type: string - commonName: - type: string - notAfter: - type: string - format: date-time - notBefore: - type: string - format: date-time - externalAuthUrl: - type: string - format: url - claimsProperty: - type: string - useExternalId: - type: boolean - kid: - type: string - issuer: - type: string - audience: - type: string - externalJwtSignerCreate: - description: A create Certificate Authority (CA) object - type: object - required: - - name - - enabled - - issuer - - audience - properties: - name: - type: string - example: 'MyApps Signer' - certPem: - type: string - x-nullable: true - jwksEndpoint: - type: string - format: uri - x-nullable: true - enabled: - type: boolean - externalAuthUrl: - type: string - format: url - x-nullable: true - kid: - type: string - x-nullable: true - claimsProperty: - type: string - x-nullable: true - useExternalId: - type: boolean - x-nullable: true - issuer: - type: string - audience: - type: string - x-nullable: true - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - externalJwtSignerUpdate: - type: object - required: - - name - - enabled - - issuer - - audience - properties: - name: - type: string - example: 'MyApps Signer' - certPem: - type: string - x-nullable: true - jwksEndpoint: - type: string - format: uri - x-nullable: true - enabled: - type: boolean - externalAuthUrl: - type: string - format: url - x-nullable: true - kid: - type: string - x-nullable: true - claimsProperty: - type: string - x-nullable: true - useExternalId: - type: boolean - x-nullable: true - issuer: - type: string - audience: - type: string - x-nullable: true - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - externalJwtSignerPatch: - type: object - properties: - name: - type: string - example: 'MyApps Signer' - x-nullable: true - certPem: - type: string - x-nullable: true - jwksEndpoint: - type: string - format: uri - x-nullable: true - enabled: - type: boolean - x-nullable: true - kid: - type: string - x-nullable: true - externalAuthUrl: - type: string - format: url - x-nullable: true - claimsProperty: - type: string - x-nullable: true - useExternalId: - type: boolean - x-nullable: true - issuer: - type: string - x-nullable: true - audience: - type: string - x-nullable: true - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' \ No newline at end of file diff --git a/specs/source/management/failed-service-request.yml b/specs/source/management/failed-service-request.yml deleted file mode 100644 index 9012960b7..000000000 --- a/specs/source/management/failed-service-request.yml +++ /dev/null @@ -1,233 +0,0 @@ ---- - -definitions: - failedServiceRequestEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/failedServiceRequestList' - failedServiceRequestList: - type: array - items: - $ref: '#/definitions/failedServiceRequest' - failedServiceRequest: - type: object - properties: - apiSessionId: - type: string - when: - type: string - format: date-time - serviceId: - type: string - serviceName: - type: string - sessionType: - $ref: '../shared/base-entity.yml#/definitions/dialBind' - policyFailures: - type: array - items: - $ref: '#/definitions/policyFailure' - policyFailure: - type: object - properties: - policyId: - type: string - policyName: - type: string - checks: - type: array - items: - $ref: '#/definitions/postureCheckFailure' - postureCheckFailure: - type: object - discriminator: postureCheckType - required: - - postureCheckId - - postureCheckName - - postureCheckType - properties: - postureCheckId: - type: string - postureCheckName: - type: string - postureCheckType: - type: string - - postureCheckFailureMacAddress: - x-class: MAC - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - properties: - actualValue: - type: array - items: - type: string - expectedValue: - type: array - items: - type: string - - postureCheckFailureDomain: - x-class: DOMAIN - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - properties: - actualValue: - type: string - expectedValue: - type: array - items: - type: string - postureCheckFailureOperatingSystemActual: - type: object - required: - - type - - version - properties: - type: - type: string - version: - type: string - - postureCheckFailureOperatingSystem: - x-class: OS - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - properties: - actualValue: - $ref: '#/definitions/postureCheckFailureOperatingSystemActual' - expectedValue: - type: array - minItems: 1 - items: - $ref: 'posture-checks.yml#/definitions/operatingSystem' - - postureCheckFailureProcessActual: - type: object - required: - - isRunning - - hash - - signerFingerprints - properties: - path: - type: string - isRunning: - type: boolean - hash: - type: string - signerFingerprints: - type: array - items: - type: string - osType: - $ref: '../shared/posture-checks.yml#/definitions/osType' - - postureCheckFailureProcess: - x-class: PROCESS - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - properties: - actualValue: - $ref: '#/definitions/postureCheckFailureProcessActual' - expectedValue: - $ref: 'posture-checks.yml#/definitions/process' - - postureCheckFailureProcessMulti: - x-class: PROCESS_MULTI - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - - semantic - properties: - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - actualValue: - type: array - items: - $ref: '#/definitions/postureCheckFailureProcessActual' - expectedValue: - type: array - items: - $ref: 'posture-checks.yml#/definitions/processMulti' - - postureCheckFailureMfa: - x-class: MFA - allOf: - - $ref: '#/definitions/postureCheckFailure' - - type: object - required: - - actualValue - - expectedValue - - criteria - properties: - actualValue: - $ref: '#/definitions/postureChecksFailureMfaValues' - expectedValue: - $ref: '#/definitions/postureChecksFailureMfaValues' - criteria: - $ref: '#/definitions/postureChecksFailureMfaCriteria' - - - postureChecksFailureMfaValues: - type: object - properties: - passedMfa: - type: boolean - x-omitempty: false - passedOnWake: - type: boolean - x-omitempty: false - passedOnUnlock: - type: boolean - x-omitempty: false - timedOut: - type: boolean - x-omitempty: false - - postureChecksFailureMfaCriteria: - type: object - required: - - passedMfaAt - - wokenAt - - unlockedAt - - timeoutSeconds - - timeoutRemainingSeconds - properties: - passedMfaAt: - type: string - format: date-time - wokenAt: - type: string - format: date-time - unlockedAt: - type: string - format: date-time - timeoutSeconds: - type: integer - timeoutRemainingSeconds: - type: integer diff --git a/specs/source/management/identities.yml b/specs/source/management/identities.yml deleted file mode 100644 index 829f580c9..000000000 --- a/specs/source/management/identities.yml +++ /dev/null @@ -1,703 +0,0 @@ ---- -paths: - identities: - get: - summary: List identities - description: | - Retrieves a list of identity resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: listIdentities - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - - $ref: '../shared/parameters.yml#/roleFilter' - - $ref: '../shared/parameters.yml#/roleSemantic' - responses: - '200': - $ref: '#/responses/listIdentities' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create an identity resource - description: Create an identity resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: createIdentity - parameters: - - name: identity - in: body - required: true - description: An identity to create - schema: - $ref: '#/definitions/identityCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single identity - description: Retrieves a single identity by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: detailIdentity - responses: - '200': - $ref: '#/responses/detailIdentity' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on an identity - description: Update all fields on an identity by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: updateIdentity - parameters: - - name: identity - in: body - required: true - description: An identity update object - schema: - $ref: '#/definitions/identityUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on an identity - description: Update the supplied fields on an identity. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: patchIdentity - parameters: - - name: identity - in: body - required: true - description: An identity patch object - schema: - $ref: '#/definitions/identityPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete an identity - description: Delete an identity by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: deleteIdentity - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - identities-id-edge-router-policies: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List the edge router policies that affect an identity - description: Retrieves a list of edge router policies that apply to the specified identity. - security: - - ztSession: [ ] - tags: - - Identity - operationId: listIdentitysEdgeRouterPolicies - responses: - '200': - $ref: 'edge-router-policies.yml#/responses/listEdgeRouterPolicies' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-service-configs: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List the service configs associated a specific identity - description: Retrieves a list of service configs associated to a specific identity - security: - - ztSession: [ ] - tags: - - Identity - operationId: listIdentitysServiceConfigs - responses: - '200': - $ref: '#/responses/listServiceConfigs' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - post: - summary: Associate service configs for a specific identity - description: Associate service configs to a specific identity - parameters: - - name: serviceConfigs - in: body - required: true - description: A service config patch object - schema: - $ref: 'service-configs.yml#/definitions/serviceConfigsAssignList' - security: - - ztSession: [ ] - tags: - - Identity - operationId: associateIdentitysServiceConfigs - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Remove associated service configs from a specific identity - description: Remove service configs from a specific identity - parameters: - - name: serviceConfigIdPairs - in: body - required: false - description: An array of service and config id pairs to remove - schema: - $ref: 'service-configs.yml#/definitions/serviceConfigsAssignList' - security: - - ztSession: [ ] - tags: - - Identity - operationId: disassociateIdentitysServiceConfigs - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-service-policies: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List the service policies that affect an identity - description: Retrieves a list of service policies that apply to the specified identity. - security: - - ztSession: [ ] - tags: - - Identity - operationId: listIdentityServicePolicies - responses: - '200': - $ref: 'service-policies.yml#/responses/listServicePolicies' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - - identities-id-edge-routers: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List accessible edge-routers - description: | - Retrieves a list of edge-routers that the given identity may use to access services. Supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: listIdentityEdgeRouters - responses: - '200': - $ref: 'edge-routers.yml#/responses/listEdgeRouters' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - - identities-id-services: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List accessible services - description: | - Retrieves a list of services that the given identity has access to. Supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: listIdentityServices - responses: - '200': - $ref: 'edge-routers.yml#/responses/listEdgeRouters' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - - identities-id-policy-advice-service-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - - $ref: '../shared/parameters.yml#/serviceId' - get: - summary: Analyze policies relating the given identity and service - description: | - Analyzes policies to see if the given identity should be able to dial or bind the given service. | - Will check services policies to see if the identity can access the service. Will check edge router policies | - to check if the identity and service have access to common edge routers so that a connnection can be made. | - Will also check if at least one edge router is on-line. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: getIdentityPolicyAdvice - responses: - '200': - $ref: '#/responses/getIdentityPolicyAdvice' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-posture-data: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieve the curent posture data for a specific identity. - description: | - Returns a nested map data represeting the posture data of the identity. - This data should be considered volatile. - security: - - ztSession: [ ] - tags: - - Identity - operationId: getIdentityPostureData - responses: - '200': - $ref: '#/responses/getIdentityPostureData' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-authenticators: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieve the current authenticators of a specific identity - description: | - Returns a list of authenticators associated to the identity specified - security: - - ztSession: [ ] - tags: - - Identity - operationId: getIdentityAuthenticators - responses: - '200': - $ref: '../shared/authenticators.yml#/responses/listAuthenticators' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-enrollments: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieve the current enrollments of a specific identity - description: | - Returns a list of enrollments associated to the identity specified - security: - - ztSession: [ ] - tags: - - Identity - operationId: getIdentityEnrollments - responses: - '200': - $ref: '../management/enrollments.yml#/responses/listEnrollments' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-failed-service-requests: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieve a list of the most recent service failure requests due to posture checks - description: | - Returns a list of service session requests that failed due to posture checks. The entries will contain - every policy that was verified against and every failed check in each policy. Each check will include - the historical posture data and posture check configuration. - security: - - ztSession: [ ] - tags: - - Identity - operationId: getIdentityFailedServiceRequests - responses: - '200': - $ref: '#/responses/getIdentityFailedServiceRequest' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-mfa: - parameters: - - $ref: '../shared/parameters.yml#/id' - delete: - summary: Remove MFA from an identitity - description: | - Allows an admin to remove MFA enrollment from a specific identity. Requires admin. - security: - - ztSession: [ ] - tags: - - Identity - - MFA - operationId: removeIdentityMfa - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-trace: - parameters: - - $ref: '../shared/parameters.yml#/id' - put: - summary: Enable/disable data flow tracing for an identity - description: | - Allows an admin to enable/disable data flow tracing for an identity - security: - - ztSession: [ ] - tags: - - Identity - - Tracing - operationId: updateIdentityTracing - parameters: - - name: traceSpec - in: body - required: true - description: A traceSpec object - schema: - $ref: '#/definitions/traceSpec' - responses: - '200': - $ref: '#/responses/traceDetail' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-enable: - parameters: - - $ref: '../shared/parameters.yml#/id' - post: - summary: Clears all disabled state from an identity - description: | - Allows an admin to remove disabled statuses from an identity. - security: - - ztSession: [ ] - tags: - - Identity - operationId: enableIdentity - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - identities-id-disable: - parameters: - - $ref: '../shared/parameters.yml#/id' - post: - summary: Set an identity as disabled - description: | - Allows an admin disable an identity for a set amount of time or indefinitely. - security: - - ztSession: [ ] - tags: - - Identity - operationId: disableIdentity - parameters: - - name: disable - in: body - required: true - description: Disable parameters - schema: - $ref: '#/definitions/disableParams' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' -responses: - listIdentities: - description: A list of identities - schema: - $ref: '#/definitions/listIdentitiesEnvelope' - detailIdentity: - description: A single identity - schema: - $ref: '#/definitions/detailIdentityEnvelope' - getIdentityPolicyAdvice: - description: Returns the document that represents the policy advice - schema: - $ref: '#/definitions/getIdentityPolicyAdviceEnvelope' - getIdentityPostureData: - description: Returns the document that represents posture data - schema: - $ref: 'posture-data.yml#/definitions/postureDataEnvelope' - getIdentityFailedServiceRequest: - description: Returns a list of service request failures - schema: - $ref: 'failed-service-request.yml#/definitions/failedServiceRequestEnvelope' - listServiceConfigs: - description: A list of service configs - schema: - $ref: 'service-configs.yml#/definitions/listServiceConfigsEnvelope' - traceDetail: - description: Returns the document that represents the trace state - schema: - $ref: '#/definitions/traceDetailEnvelope' - -definitions: - disableParams: - type: object - required: - - durationMinutes - properties: - durationMinutes: - type: integer - listIdentitiesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '../shared/identities.yml#/definitions/identityList' - detailIdentityEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '../shared/identities.yml#/definitions/identityDetail' - traceDetailEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/traceDetail' - identityCreate: - description: An identity to create - type: object - required: - - name - - type - - isAdmin - properties: - name: - type: string - type: - $ref: 'identity-types.yml#/definitions/identityType' - isAdmin: - type: boolean - enrollment: - type: object - properties: - ott: - type: boolean - updb: - type: string - ottca: - type: string - authPolicyId: - type: string - x-nullable: true - externalId: - type: string - x-nullable: true - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - defaultHostingPrecedence: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedence' - defaultHostingCost: - $ref: '../shared/terminators.yml#/definitions/terminatorCost' - serviceHostingPrecedences: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedenceMap' - serviceHostingCosts: - $ref: '../shared/terminators.yml#/definitions/terminatorCostMap' - appData: - $ref: '../shared/base-entity.yml#/definitions/tags' - identityUpdate: - type: object - required: - - type - - name - - isAdmin - properties: - name: - type: string - type: - $ref: 'identity-types.yml#/definitions/identityType' - isAdmin: - type: boolean - authPolicyId: - type: string - x-nullable: true - externalId: - type: string - x-nullable: true - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - defaultHostingPrecedence: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedence' - defaultHostingCost: - $ref: '../shared/terminators.yml#/definitions/terminatorCost' - serviceHostingPrecedences: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedenceMap' - serviceHostingCosts: - $ref: '../shared/terminators.yml#/definitions/terminatorCostMap' - appData: - $ref: '../shared/base-entity.yml#/definitions/tags' - identityPatch: - type: object - properties: - name: - type: string - x-nullable: true - type: - $ref: 'identity-types.yml#/definitions/identityType' - x-nullable: true - isAdmin: - type: boolean - x-nullable: true - authPolicyId: - type: string - x-nullable: true - externalId: - type: string - x-nullable: true - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - defaultHostingPrecedence: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedence' - defaultHostingCost: - $ref: '../shared/terminators.yml#/definitions/terminatorCost' - serviceHostingPrecedences: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedenceMap' - serviceHostingCosts: - $ref: '../shared/terminators.yml#/definitions/terminatorCostMap' - appData: - $ref: '../shared/base-entity.yml#/definitions/tags' - getIdentityPolicyAdviceEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/policyAdvice' - policyAdvice: - type: "object" - properties: - identityId: - type: "string" - identity: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - serviceId: - type: "string" - service: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - isBindAllowed: - type: "boolean" - isDialAllowed: - type: "boolean" - identityRouterCount: - type: "number" - format: int32 - serviceRouterCount: - type: "number" - format: int32 - commonRouters: - type: "array" - items: - $ref: 'edge-routers.yml#/definitions/routerEntityRef' - traceSpec: - type: "object" - properties: - enabled: - type: "boolean" - duration: - type: "string" - traceId: - type: "string" - channels: - type: array - items: - type: string - traceDetail: - type: "object" - properties: - enabled: - type: "boolean" - until: - type: "string" - format: date-time - traceId: - type: "string" \ No newline at end of file diff --git a/specs/source/management/identity-types.yml b/specs/source/management/identity-types.yml deleted file mode 100644 index 0d9566efa..000000000 --- a/specs/source/management/identity-types.yml +++ /dev/null @@ -1,93 +0,0 @@ ---- - -paths: - identity-types: - get: - summary: List available identity types - description: | - Retrieves a list of identity types; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: listIdentityTypes - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listIdentityTypes' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - identity-types-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a identity type - description: Retrieves a single identity type by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Identity - operationId: detailIdentityType - responses: - '200': - $ref: '#/responses/detailIdentityType' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listIdentityTypes: - description: A list of identity types - schema: - $ref: '#/definitions/listIdentityTypesEnvelope' - detailIdentityType: - description: A single identity type - schema: - $ref: '#/definitions/detailIdentityTypeEnvelope' - -definitions: - identityType: - type: string - enum: - - User - - Device - - Service - - Router - listIdentityTypesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/identityTypeList' - detailIdentityTypeEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/identityTypeDetail' - identityTypeList: - type: array - items: - $ref: '#/definitions/identityTypeDetail' - identityTypeDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - properties: - name: - type: string \ No newline at end of file diff --git a/specs/source/management/posture-check-types.yml b/specs/source/management/posture-check-types.yml deleted file mode 100644 index 7a03380aa..000000000 --- a/specs/source/management/posture-check-types.yml +++ /dev/null @@ -1,96 +0,0 @@ ---- -paths: - posture-check-types: - get: - summary: List a subset of posture check types - description: | - Retrieves a list of posture check types - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: listPostureCheckTypes - produces: - - application/json; charset=utf-8 - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listPostureCheckTypes' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - posture-check-types-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single posture check type - description: Retrieves a single posture check type by id - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: detailPostureCheckType - responses: - '200': - $ref: '#/responses/detailPostureCheckType' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listPostureCheckTypes: - description: A list of posture check types - schema: - $ref: '#/definitions/listPostureCheckTypesEnvelope' - detailPostureCheckType: - description: Retrieves a singular posture check type by id - schema: - $ref: '#/definitions/detailPostureCheckTypeEnvelope' - -definitions: - listPostureCheckTypesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/postureCheckTypeList' - detailPostureCheckTypeEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/postureCheckTypeDetail' - postureCheckTypeList: - type: array - items: - $ref: '#/definitions/postureCheckTypeDetail' - postureCheckTypeDetail: - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - operatingSystems - - version - properties: - name: - type: string - operatingSystems: - type: array - items: - $ref: 'posture-checks.yml#/definitions/operatingSystem' - version: - type: string \ No newline at end of file diff --git a/specs/source/management/posture-checks.yml b/specs/source/management/posture-checks.yml deleted file mode 100644 index 5ac2bbc4b..000000000 --- a/specs/source/management/posture-checks.yml +++ /dev/null @@ -1,631 +0,0 @@ ---- -paths: - posture-checks: - get: - summary: List a subset of posture checks - description: | - Retrieves a list of posture checks - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: listPostureChecks - produces: - - application/json; charset=utf-8 - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - - $ref: '../shared/parameters.yml#/roleFilter' - - $ref: '../shared/parameters.yml#/roleSemantic' - responses: - '200': - $ref: '#/responses/listPostureChecks' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Creates a Posture Checks - description: Creates a Posture Checks - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: createPostureCheck - parameters: - - name: postureCheck - in: body - required: true - description: A Posture Check to create - schema: - $ref: '#/definitions/postureCheckCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - posture-checks-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single Posture Checks - description: Retrieves a single Posture Checks by id - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: detailPostureCheck - responses: - '200': - $ref: '#/responses/detailPostureCheck' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a Posture Checks - description: Update all fields on a Posture Checks by id - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: updatePostureCheck - parameters: - - name: postureCheck - in: body - required: true - description: A Posture Check update object - schema: - $ref: '#/definitions/postureCheckUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a Posture Checks - description: Update only the supplied fields on a Posture Checks by id - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: patchPostureCheck - parameters: - - name: postureCheck - in: body - required: true - description: A Posture Check patch object - schema: - $ref: '#/definitions/postureCheckPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Deletes an Posture Checks - description: Deletes and Posture Checks by id - security: - - ztSession: [ ] - tags: - - Posture Checks - operationId: deletePostureCheck - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '403': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listPostureChecks: - description: A list of posture checks - schema: - $ref: '#/definitions/listPostureCheckEnvelope' - detailPostureCheck: - description: Retrieves a singular posture check by id - schema: - $ref: '#/definitions/detailPostureCheckEnvelope' - -definitions: - listPostureCheckEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - #can't use postureCheckList as it will cause issues w/ the code generation as of 3/2021 - type: array - items: - $ref: '#/definitions/postureCheckDetail' - detailPostureCheckEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/postureCheckDetail' - operatingSystem: - type: object - required: - - type - - versions - properties: - type: - $ref: '../shared/posture-checks.yml#/definitions/osType' - versions: - type: array - items: - type: string - postureCheckDetail: - type: object - discriminator: typeId - # base is duped here due to a bug in go-swagger that will try to embed a struct in an interface - # see https://github.com/go-swagger/go-swagger/issues/2413 - required: - - name - - typeId - - version - - roleAttributes - - id - - createdAt - - updatedAt - - _links - - tags - properties: - name: - type: string - typeId: - type: string - version: - type: integer - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - id: - type: string - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - _links: - $ref: '../shared/base-entity.yml#/definitions/links' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - postureCheckCreate: - type: object - discriminator: typeId - required: - - name - - typeId - properties: - name: - type: string - typeId: - $ref: '../shared/posture-checks.yml#/definitions/postureCheckType' - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - postureCheckUpdate: - type: object - discriminator: typeId - required: - - name - properties: - name: - type: string - typeId: - $ref: '../shared/posture-checks.yml#/definitions/postureCheckType' - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - postureCheckPatch: - type: object - discriminator: typeId - required: - - typeId - properties: - name: - type: string - typeId: - $ref: '../shared/posture-checks.yml#/definitions/postureCheckType' - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - - - ################################################################### - # Posture Check Operating System - ################################################################### - postureCheckOperatingSystemDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - operatingSystems - properties: - operatingSystems: - type: array - items: - $ref: '#/definitions/operatingSystem' - x-class: "OS" - - postureCheckOperatingSystemCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - operatingSystems - properties: - operatingSystems: - type: array - minItems: 1 - items: - $ref: '#/definitions/operatingSystem' - x-class: "OS" - postureCheckOperatingSystemUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - operatingSystems - properties: - operatingSystems: - type: array - minItems: 1 - items: - $ref: '#/definitions/operatingSystem' - x-class: "OS" - postureCheckOperatingSystemPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - operatingSystems: - type: array - minItems: 1 - items: - $ref: '#/definitions/operatingSystem' - x-class: "OS" - - ################################################################### - # Posture Check Domain - ################################################################### - postureCheckDomainDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - domains - properties: - domains: - type: array - minItems: 1 - items: - type: string - x-class: "DOMAIN" - - postureCheckDomainCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - domains - properties: - domains: - type: array - minItems: 1 - items: - type: string - x-class: "DOMAIN" - - postureCheckDomainUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - domains - properties: - domains: - type: array - minItems: 1 - items: - type: string - x-class: "DOMAIN" - - postureCheckDomainPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - domains: - type: array - minItems: 1 - items: - type: string - x-class: "DOMAIN" - - ################################################################### - # Posture Check MAC Address - ################################################################### - postureCheckMacAddressDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - macAddresses - properties: - macAddresses: - type: array - minItems: 1 - items: - type: string - - x-class: "MAC" - - postureCheckMacAddressCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - macAddresses - properties: - macAddresses: - type: array - minItems: 1 - items: - type: string - x-class: "MAC" - - postureCheckMacAddressUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - macAddresses - properties: - macAddresses: - type: array - minItems: 1 - items: - type: string - x-class: "MAC" - - postureCheckMacAddressPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - macAddresses: - type: array - minItems: 1 - items: - type: string - x-class: "MAC" - - ################################################################### - # Posture Check Process - ################################################################### - process: - type: object - required: - - osType - - path - properties: - osType: - $ref: '../shared/posture-checks.yml#/definitions/osType' - path: - type: string - hashes: - type: array - items: - type: string - signerFingerprint: - type: string - - postureCheckProcessDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - process - properties: - process: - $ref: '#/definitions/process' - x-class: "PROCESS" - - postureCheckProcessCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - process - properties: - process: - $ref: '#/definitions/process' - x-class: "PROCESS" - - postureCheckProcessUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - process - properties: - process: - $ref: '#/definitions/process' - x-class: "PROCESS" - - postureCheckProcessPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - process: - $ref: '#/definitions/process' - x-class: "PROCESS" - - ################################################################### - # Posture Check Process Multi - ################################################################### - processMulti: - type: object - required: - - osType - - path - properties: - osType: - $ref: '../shared/posture-checks.yml#/definitions/osType' - path: - type: string - hashes: - type: array - items: - type: string - signerFingerprints: - type: array - items: - type: string - - postureCheckProcessMultiDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - type: object - required: - - semantic - - processes - properties: - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - processes: - type: array - minItems: 1 - items: - $ref: '#/definitions/processMulti' - x-class: "PROCESS_MULTI" - - postureCheckProcessMultiCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - type: object - required: - - semantic - - processes - properties: - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - processes: - type: array - minItems: 1 - items: - $ref: '#/definitions/processMulti' - x-class: "PROCESS_MULTI" - - postureCheckProcessMultiUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - type: object - required: - - semantic - - processes - properties: - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - processes: - type: array - minItems: 1 - items: - $ref: '#/definitions/processMulti' - x-class: "PROCESS_MULTI" - - postureCheckProcessMultiPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - type: object - properties: - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - processes: - type: array - minItems: 1 - items: - $ref: '#/definitions/processMulti' - x-class: "PROCESS_MULTI" - - ################################################################### - # Posture Check MFA - ################################################################### - postureCheckMfaProperties: - type: object - properties: - timeoutSeconds: - type: integer - promptOnWake: - type: boolean - promptOnUnlock: - type: boolean - ignoreLegacyEndpoints: - type: boolean - - postureCheckMfaPropertiesPatch: - type: object - properties: - timeoutSeconds: - type: integer - x-nullable: true - promptOnWake: - type: boolean - x-nullable: true - promptOnUnlock: - type: boolean - x-nullable: true - ignoreLegacyEndpoints: - type: boolean - x-nullable: true - - postureCheckMfaDetail: - allOf: - - $ref: '#/definitions/postureCheckDetail' - - $ref: '#/definitions/postureCheckMfaProperties' - x-class: "MFA" - - postureCheckMfaCreate: - allOf: - - $ref: '#/definitions/postureCheckCreate' - - $ref: '#/definitions/postureCheckMfaProperties' - x-class: "MFA" - - - postureCheckMfaUpdate: - allOf: - - $ref: '#/definitions/postureCheckUpdate' - - $ref: '#/definitions/postureCheckMfaProperties' - x-class: "MFA" - - postureCheckMfaPatch: - allOf: - - $ref: '#/definitions/postureCheckPatch' - - $ref: '#/definitions/postureCheckMfaPropertiesPatch' - x-class: "MFA" diff --git a/specs/source/management/posture-data.yml b/specs/source/management/posture-data.yml deleted file mode 100644 index 12b81175a..000000000 --- a/specs/source/management/posture-data.yml +++ /dev/null @@ -1,149 +0,0 @@ ---- - -definitions: - postureDataEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/postureData' - postureData: - type: object - required: - - mac - - domain - - os - - processes - - apiSessionPostureData - properties: - mac: - $ref: '#/definitions/postureDataMac' - domain: - $ref: '#/definitions/postureDataDomain' - os: - $ref: '#/definitions/postureDataOs' - processes: - type: array - items: - $ref: '#/definitions/postureDataProcess' - apiSessionPostureData: - type: object - additionalProperties: - $ref: '#/definitions/apiSessionPostureData' - postureDataBase: - type: object - required: - - postureCheckId - - timedOut - - lastUpdatedAt - properties: - postureCheckId: - type: string - timedOut: - type: boolean - lastUpdatedAt: - type: string - format: date-time - postureDataMac: - type: object - allOf: - - $ref: '#/definitions/postureDataBase' - - type: object - required: - - addresses - properties: - addresses: - type: array - items: - type: string - postureDataDomain: - type: object - allOf: - - $ref: '#/definitions/postureDataBase' - - type: object - required: - - domain - properties: - domain: - type: string - postureDataOs: - type: object - allOf: - - $ref: '#/definitions/postureDataBase' - - type: object - required: - - type - - version - - build - properties: - type: - type: string - version: - type: string - build: - type: string - postureDataProcess: - type: object - allOf: - - $ref: '#/definitions/postureDataBase' - - type: object - properties: - isRunning: - type: boolean - binaryHash: - type: string - signerFingerprints: - type: array - items: - type: string - postureDataMfa: - type: object - required: - - apiSessionId - - passedMfa - - passedOnWake - - passedOnUnlock - - passedAt - properties: - apiSessionId: - type: string - passedAt: - type: string - format: date-time - x-omitempty: false - passedMfa: - type: boolean - x-omitempty: false - passedOnWake: - type: boolean - x-omitempty: false - passedOnUnlock: - type: boolean - x-omitempty: false - postureDataEndpointState: - type: object - required: - - wokenAt - - unlockedAt - properties: - wokenAt: - type: string - format: date-time - unlockedAt: - type: string - format: date-time - apiSessionPostureData: - type: object - required: - - mfa - properties: - mfa: - $ref: '#/definitions/postureDataMfa' - endpointState: - $ref: '#/definitions/postureDataEndpointState' - sdkInfo: - $ref: '../shared/authenticate.yml#/definitions/sdkInfo' \ No newline at end of file diff --git a/specs/source/management/role-attributes.yml b/specs/source/management/role-attributes.yml deleted file mode 100644 index 4327b68d3..000000000 --- a/specs/source/management/role-attributes.yml +++ /dev/null @@ -1,90 +0,0 @@ ---- -paths: - edge-router-role-attributes: - get: - summary: List role attributes in use by edge routers - description: | - Retrieves a list of role attributes in use by edge routers; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Role Attributes - operationId: listEdgeRouterRoleAttributes - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listRoleAttributes' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - - identity-role-attributes: - get: - summary: List role attributes in use by identities - description: | - Retrieves a list of role attributes in use by identities; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Role Attributes - operationId: listIdentityRoleAttributes - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listRoleAttributes' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - - service-role-attributes: - get: - summary: List role attributes in use by services - description: | - Retrieves a list of role attributes in use by services; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Role Attributes - operationId: listServiceRoleAttributes - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listRoleAttributes' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - -responses: - listRoleAttributes: - description: A list of role attributes - schema: - $ref: '#/definitions/listRoleAttributesEnvelope' - -definitions: - listRoleAttributesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/roleAttributesList' - roleAttributesList: - description: An array of role attributes - type: array - items: - type: string \ No newline at end of file diff --git a/specs/source/management/routers.yml b/specs/source/management/routers.yml deleted file mode 100644 index 18ffa3ad0..000000000 --- a/specs/source/management/routers.yml +++ /dev/null @@ -1,389 +0,0 @@ ---- -paths: - # 'transit-routers' is deprecated, remove after 19.x, use 'routers' instead - transit-routers: - get: - summary: List routers - description: | - Retrieves a list of router resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: listTransitRouters - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listRouters' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a router resource - description: Create a router resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: createTransitRouter - parameters: - - name: router - in: body - required: true - description: A router to create - schema: - $ref: '#/definitions/routerCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - transit-routers-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single router - description: Retrieves a single router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: detailTransitRouter - responses: - '200': - $ref: '#/responses/detailRouter' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a router - description: Update all fields on a router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: updateTransitRouter - parameters: - - name: router - in: body - required: true - description: A router update object - schema: - $ref: '#/definitions/routerUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a router - description: Update the supplied fields on a router. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: patchTransitRouter - parameters: - - name: router - in: body - required: true - description: A router patch object - schema: - $ref: '#/definitions/routerPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a router - description: Delete a router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: deleteTransitRouter - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - routers: - get: - summary: List routers - description: | - Retrieves a list of router resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: listRouters - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listRouters' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a router resource - description: Create a router resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: createRouter - parameters: - - name: router - in: body - required: true - description: A router to create - schema: - $ref: '#/definitions/routerCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - routers-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single router - description: Retrieves a single router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: detailRouter - responses: - '200': - $ref: '#/responses/detailRouter' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a router - description: Update all fields on a router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: updateRouter - parameters: - - name: router - in: body - required: true - description: A router update object - schema: - $ref: '#/definitions/routerUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a router - description: Update the supplied fields on a router. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: patchRouter - parameters: - - name: router - in: body - required: true - description: A router patch object - schema: - $ref: '#/definitions/routerPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a router - description: Delete a router by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Router - operationId: deleteRouter - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - -responses: - listRouters: - description: A list of specifications - schema: - $ref: '#/definitions/listRoutersEnvelope' - detailRouter: - description: A single router - schema: - $ref: '#/definitions/detailRouterEnvelope' - -definitions: - listRoutersEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/routerList' - detailRouterEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/routerDetail' - routerList: - type: array - items: - $ref: '#/definitions/routerDetail' - routerDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - isVerified - - isOnline - - fingerprint - - cost - - noTraversal - properties: - name: - type: string - fingerprint: - type: string - isVerified: - type: boolean - isOnline: - type: boolean - enrollmentToken: - type: string - x-nullable: true - enrollmentJwt: - type: string - x-nullable: true - enrollmentCreatedAt: - type: string - format: date-time - x-nullable: true - enrollmentExpiresAt: - type: string - format: date-time - x-nullable: true - unverifiedFingerprint: - type: string - x-nullable: true - x-omitempty: false - unverifiedCertPem: - type: string - x-nullable: true - x-omitempty: false - cost: - type: integer - minimum: 0 - maximum: 65535 - noTraversal: - type: boolean - routerCreate: - type: object - required: - - name - properties: - name: - type: string - cost: - type: integer - x-nullable: true - minimum: 0 - maximum: 65535 - noTraversal: - type: boolean - x-nullable: true - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - routerUpdate: - type: object - required: - - name - properties: - name: - type: string - cost: - type: integer - x-nullable: true - minimum: 0 - maximum: 65535 - noTraversal: - type: boolean - x-nullable: true - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - routerPatch: - type: object - properties: - name: - type: string - cost: - type: integer - x-nullable: true - minimum: 0 - maximum: 65535 - noTraversal: - type: boolean - x-nullable: true - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' \ No newline at end of file diff --git a/specs/source/management/service-configs.yml b/specs/source/management/service-configs.yml deleted file mode 100644 index 93c78f7d1..000000000 --- a/specs/source/management/service-configs.yml +++ /dev/null @@ -1,61 +0,0 @@ ---- -definitions: - listServiceConfigsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/serviceConfigList' - serviceConfigList: - type: array - items: - $ref: '#/definitions/serviceConfigDetail' - serviceConfigDetail: - type: object - required: - - serviceId - - service - - configId - - config - properties: - serviceId: - type: string - service: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - configId: - type: string - config: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - example: - service: - urlName: services - id: 913a8c63-17a6-44d7-82b3-9f6eb997cf8e - name: netcat4545-egress-r2 - _links: - self: - href: "./services/913a8c63-17a6-44d7-82b3-9f6eb997cf8e" - config: - urlName: configs - id: 13347602-ba34-4ff7-8082-e533ba945744 - name: test-config-02fade09-fcc3-426c-854e-18539726bdc6 - _links: - self: - href: "./identities/13347602-ba34-4ff7-8082-e533ba945744" - serviceConfigAssign: - type: object - required: - - serviceId - - configId - properties: - serviceId: - type: string - configId: - type: string - serviceConfigsAssignList: - type: array - items: - $ref: '#/definitions/serviceConfigAssign' \ No newline at end of file diff --git a/specs/source/management/service-edge-router-policies.yml b/specs/source/management/service-edge-router-policies.yml deleted file mode 100644 index 0e9fce444..000000000 --- a/specs/source/management/service-edge-router-policies.yml +++ /dev/null @@ -1,270 +0,0 @@ ---- -paths: - service-edge-router-policies: - get: - summary: List service edge router policies - description: | - Retrieves a list of service edge router policy resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Edge Router Policy - operationId: listServiceEdgeRouterPolicies - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listServiceEdgeRouterPolicies' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a service edge router policy resource - description: Create a service edge router policy resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Edge Router Policy - operationId: createServiceEdgeRouterPolicy - parameters: - - name: policy - in: body - required: true - description: A service edge router policy to create - schema: - $ref: '#/definitions/serviceEdgeRouterPolicyCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - service-edge-router-policies-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single service edge policy - description: Retrieves a single service edge policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Edge Router Policy - operationId: detailServiceEdgeRouterPolicy - responses: - '200': - $ref: '#/responses/detailServiceEdgePolicy' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a service edge policy - description: Update all fields on a service edge policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Edge Router Policy - operationId: updateServiceEdgeRouterPolicy - parameters: - - name: policy - in: body - required: true - description: A service edge router policy update object - schema: - $ref: '#/definitions/serviceEdgeRouterPolicyUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a service edge policy - description: Update the supplied fields on a service edge policy. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Edge Router Policy - operationId: patchServiceEdgeRouterPolicy - parameters: - - name: policy - in: body - required: true - description: A service edge router policy patch object - schema: - $ref: '#/definitions/serviceEdgeRouterPolicyPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a service edge policy - description: Delete a service edge policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Edge Router Policy - operationId: deleteServiceEdgeRouterPolicy - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - service-edge-router-policies-id-edge-routers: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List the edge routers that a service edge router policy applies to - description: List the edge routers that a service edge router policy applies to - security: - - ztSession: [ ] - tags: - - Service Edge Router Policy - operationId: listServiceEdgeRouterPolicyEdgeRouters - responses: - '200': - $ref: 'edge-routers.yml#/responses/listEdgeRouters' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - service-edge-router-policies-id-services: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List the services that a service edge router policy applies to - description: List the services that a service edge router policy applies to - security: - - ztSession: [ ] - tags: - - Service Edge Router Policy - operationId: listServiceEdgeRouterPolicyServices - responses: - '200': - $ref: '../shared/services.yml#/responses/listServices' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listServiceEdgeRouterPolicies: - description: A list of service edge router policies - schema: - $ref: '#/definitions/listServiceEdgeRouterPoliciesEnvelope' - detailServiceEdgePolicy: - description: A single service edge router policy - schema: - $ref: '#/definitions/detailServiceEdgePolicyEnvelope' - -definitions: - listServiceEdgeRouterPoliciesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/serviceEdgeRouterPolicyList' - detailServiceEdgePolicyEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/serviceEdgeRouterPolicyDetail' - serviceEdgeRouterPolicyList: - type: array - items: - $ref: '#/definitions/serviceEdgeRouterPolicyDetail' - serviceEdgeRouterPolicyDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - semantic - - edgeRouterRoles - - edgeRouterRolesDisplay - - serviceRoles - - serviceRolesDisplay - properties: - name: - type: string - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - edgeRouterRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - edgeRouterRolesDisplay: - $ref: '../shared/base-entity.yml#/definitions/namedRoles' - serviceRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - serviceRolesDisplay: - $ref: '../shared/base-entity.yml#/definitions/namedRoles' - serviceEdgeRouterPolicyCreate: - type: object - required: - - name - - semantic - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - edgeRouterRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - serviceRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - serviceEdgeRouterPolicyUpdate: - type: object - required: - - name - - semantic - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - edgeRouterRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - serviceRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - serviceEdgeRouterPolicyPatch: - type: object - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - edgeRouterRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - serviceRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' \ No newline at end of file diff --git a/specs/source/management/service-policies.yml b/specs/source/management/service-policies.yml deleted file mode 100644 index 7a23fbbcf..000000000 --- a/specs/source/management/service-policies.yml +++ /dev/null @@ -1,327 +0,0 @@ ---- -paths: - service-policies: - get: - summary: List service policies - description: | - Retrieves a list of service policy resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: listServicePolicies - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listServicePolicies' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a service policy resource - description: Create a service policy resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: createServicePolicy - parameters: - - name: policy - in: body - required: true - description: A service policy to create - schema: - $ref: '#/definitions/servicePolicyCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - service-policies-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single service policy - description: Retrieves a single service policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: detailServicePolicy - responses: - '200': - $ref: '#/responses/detailServicePolicy' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a service policy - description: Update all fields on a service policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: updateServicePolicy - parameters: - - name: policy - in: body - required: true - description: A service policy update object - schema: - $ref: '#/definitions/servicePolicyUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a service policy - description: Update the supplied fields on a service policy. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: patchServicePolicy - parameters: - - name: policy - in: body - required: true - description: A service policy patch object - schema: - $ref: '#/definitions/servicePolicyPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a service policy - description: Delete a service policy by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: deleteServicePolicy - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - service-policies-id-identities: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List identities a service policy affects - description: | - Retrieves a list of identity resources that are affected by a service policy; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: listServicePolicyIdentities - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: 'identities.yml#/responses/listIdentities' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - - service-policies-id-services: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List services a service policy affects - description: | - Retrieves a list of service resources that are affected by a service policy; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: listServicePolicyServices - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '../shared/services.yml#/responses/listServices' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - service-policies-id-posture-checks: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List posture check a service policy includes - description: | - Retrieves a list of posture check resources that are affected by a service policy; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service Policy - operationId: listServicePolicyPostureChecks - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: 'posture-checks.yml#/responses/listPostureChecks' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - -responses: - listServicePolicies: - description: A list of service policies - schema: - $ref: '#/definitions/listServicePoliciesEnvelope' - detailServicePolicy: - description: A single service policy - schema: - $ref: '#/definitions/detailServicePolicyEnvelop' - -definitions: - listServicePoliciesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/servicePolicyList' - detailServicePolicyEnvelop: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/servicePolicyDetail' - servicePolicyList: - type: array - items: - $ref: '#/definitions/servicePolicyDetail' - servicePolicyDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - type - - semantic - - serviceRoles - - serviceRolesDisplay - - identityRoles - - identityRolesDisplay - - postureCheckRoles - - postureCheckRolesDisplay - properties: - name: - type: string - type: - $ref: '../shared/base-entity.yml#/definitions/dialBind' - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - serviceRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - serviceRolesDisplay: - $ref: '../shared/base-entity.yml#/definitions/namedRoles' - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityRolesDisplay: - $ref: '../shared/base-entity.yml#/definitions/namedRoles' - postureCheckRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - postureCheckRolesDisplay: - $ref: '../shared/base-entity.yml#/definitions/namedRoles' - servicePolicyCreate: - type: object - required: - - name - - type - - semantic - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - type: - $ref: '../shared/base-entity.yml#/definitions/dialBind' - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - serviceRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - postureCheckRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - servicePolicyUpdate: - type: object - required: - - name - - type - - semantic - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - type: - $ref: '../shared/base-entity.yml#/definitions/dialBind' - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - serviceRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - postureCheckRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - servicePolicyPatch: - type: object - properties: - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - name: - type: string - type: - $ref: '../shared/base-entity.yml#/definitions/dialBind' - semantic: - $ref: '../shared/base-entity.yml#/definitions/semantic' - serviceRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - identityRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' - postureCheckRoles: - $ref: '../shared/base-entity.yml#/definitions/roles' \ No newline at end of file diff --git a/specs/source/management/services.yml b/specs/source/management/services.yml deleted file mode 100644 index a8219523b..000000000 --- a/specs/source/management/services.yml +++ /dev/null @@ -1,338 +0,0 @@ ---- -paths: - services: - get: - summary: List services - description: | - Retrieves a list of config resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServices - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - - $ref: '../shared/parameters.yml#/roleFilter' - - $ref: '../shared/parameters.yml#/roleSemantic' - responses: - '200': - $ref: '../shared/services.yml#/responses/listServices' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a services resource - description: Create a services resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: createService - parameters: - - name: service - in: body - required: true - description: A service to create - schema: - $ref: '#/definitions/serviceCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - services-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single service - description: Retrieves a single service by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: detailService - responses: - '200': - $ref: '../shared/services.yml#/responses/detailService' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a service - description: Update all fields on a service by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: updateService - parameters: - - name: service - in: body - required: true - description: A service update object - schema: - $ref: '#/definitions/serviceUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a service - description: Update the supplied fields on a service. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: patchService - parameters: - - name: service - in: body - required: true - description: A service patch object - schema: - $ref: '#/definitions/servicePatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a service - description: Delete a service by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: deleteService - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - services-id-configs: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List configs associated to a specific service - description: | - Retrieves a list of config resources associated to a specific service; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServiceConfig - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: 'configs.yml#/responses/listConfigs' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - services-id-service-edge-router-policies: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List service edge router policies that affect a specific service - description: | - Retrieves a list of service edge router policy resources that affect a specific service; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServiceServiceEdgeRouterPolicies - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: 'service-edge-router-policies.yml#/responses/listServiceEdgeRouterPolicies' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - services-id-service-policies: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List service policies that affect a specific service - description: | - Retrieves a list of service policy resources that affect specific service; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServiceServicePolicies - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: 'service-policies.yml#/responses/listServicePolicies' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - - services-id-identities: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List identities with access - description: | - Retrieves a list of identities that have access to this service. Supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServiceIdentities - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: 'identities.yml#/responses/listIdentities' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - - services-id-edge-routers: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List accessible edge-routers - description: | - Retrieves a list of edge-routers that may be used to access the given service. Supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServiceEdgeRouters - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: 'edge-routers.yml#/responses/listEdgeRouters' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - - services-id-terminators: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: List of terminators assigned to a service - description: | - Retrieves a list of terminator resources that are assigned specific service; supports filtering, sorting, and pagination. - security: - - ztSession: [ ] - tags: - - Service - operationId: listServiceTerminators - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: 'terminators.yml#/responses/listTerminators' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - -definitions: - serviceCreate: - type: object - required: - - name - - encryptionRequired - properties: - name: - type: string - terminatorStrategy: - type: string - roleAttributes: - type: array - items: - type: string - configs: - type: array - items: - type: string - encryptionRequired: - type: boolean - description: Describes whether connections must support end-to-end encryption on both sides of the connection. - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - serviceUpdate: - type: object - required: - - name - properties: - name: - type: string - terminatorStrategy: - type: string - roleAttributes: - type: array - items: - type: string - configs: - type: array - items: - type: string - encryptionRequired: - type: boolean - description: Describes whether connections must support end-to-end encryption on both sides of the connection. Read-only property, set at create. - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - servicePatch: - type: object - properties: - name: - type: string - terminatorStrategy: - type: string - roleAttributes: - type: array - items: - type: string - configs: - type: array - items: - type: string - encryptionRequired: - type: boolean - description: Describes whether connections must support end-to-end encryption on both sides of the connection. Read-only property, set at create. - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' \ No newline at end of file diff --git a/specs/source/management/sessions.yml b/specs/source/management/sessions.yml deleted file mode 100644 index a27a34aad..000000000 --- a/specs/source/management/sessions.yml +++ /dev/null @@ -1,146 +0,0 @@ ---- -paths: - sessions: - get: - summary: List sessions - description: | - Retrieves a list of active sessions resources; supports filtering, sorting, and pagination. Requires admin access. - - Sessions are tied to an API session and are moved when an API session times out or logs out. Active sessions - (i.e. Ziti SDK connected to an edge router) will keep the session and API session marked as active. - security: - - ztSession: [ ] - tags: - - Session - operationId: listSessions - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listSessionsManagement' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - sessions-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single session - description: Retrieves a single session by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Session - operationId: detailSession - responses: - '200': - $ref: '#/responses/detailSessionManagement' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a session - description: Delete a session by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Session - operationId: deleteSession - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - sessions-id-route-path: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single session's router path - description: Retrieves a single session's route path by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Session - operationId: detailSessionRoutePath - responses: - '200': - $ref: '#/responses/detailSessionRoutePath' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - detailSessionRoutePath: - description: A single session's route path - schema: - $ref: '#/definitions/detailSessionRoutePathEnvelope' - listSessionsManagement: - description: A list of sessions - schema: - $ref: '#/definitions/listSessionsManagementEnvelope' - detailSessionManagement: - description: A single session - schema: - $ref: '#/definitions/detailSessionManagementEnvelope' - - -definitions: - detailSessionRoutePathEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/sessionRoutePathDetail' - sessionRoutePathDetail: - type: object - properties: - routePath: - type: array - items: - type: string - listSessionsManagementEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/sessionManagementList' - detailSessionManagementEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/sessionManagementDetail' - sessionManagementList: - type: array - items: - $ref: '#/definitions/sessionManagementDetail' - sessionManagementDetail: - allOf: - - $ref: '../shared/sessions.yml#/definitions/sessionDetail' - - type: object - properties: - servicePolicies: - type: array - items: - $ref: '../shared/base-entity.yml#/definitions/entityRef' \ No newline at end of file diff --git a/specs/source/management/summary.yml b/specs/source/management/summary.yml deleted file mode 100644 index 0eba56a64..000000000 --- a/specs/source/management/summary.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -paths: - summary: - get: - summary: Returns a list of accessible resource counts - description: This endpoint is usefull for UIs that wish to display UI elements with counts. - security: - - ztSession: [ ] - tags: - - Informational - operationId: listSummary - responses: - '200': - $ref: '#/responses/listSummaryCounts' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - listSummaryCounts: - description: Entity counts scopped to the current identitie's access - schema: - $ref: '#/definitions/listSummaryCountsEnvelope' - -definitions: - listSummaryCountsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/listSummaryCounts' - listSummaryCounts: - type: object - additionalProperties: - type: integer \ No newline at end of file diff --git a/specs/source/management/terminators.yml b/specs/source/management/terminators.yml deleted file mode 100644 index ba8e00909..000000000 --- a/specs/source/management/terminators.yml +++ /dev/null @@ -1,267 +0,0 @@ ---- -paths: - terminators: - get: - summary: List terminators - description: | - Retrieves a list of terminator resources; supports filtering, sorting, and pagination. Requires admin access. - security: - - ztSession: [ ] - tags: - - Terminator - operationId: listTerminators - parameters: - - $ref: '../shared/parameters.yml#/limit' - - $ref: '../shared/parameters.yml#/offset' - - $ref: '../shared/parameters.yml#/filter' - responses: - '200': - $ref: '#/responses/listTerminators' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - post: - summary: Create a terminator resource - description: Create a terminator resource. Requires admin access. - security: - - ztSession: [ ] - tags: - - Terminator - operationId: createTerminator - parameters: - - name: terminator - in: body - required: true - description: A terminator to create - schema: - $ref: '#/definitions/terminatorCreate' - responses: - '201': - $ref: '../shared/standard-responses.yml#/responses/createResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - terminators-id: - parameters: - - $ref: '../shared/parameters.yml#/id' - get: - summary: Retrieves a single terminator - description: Retrieves a single terminator by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Terminator - operationId: detailTerminator - responses: - '200': - $ref: '#/responses/detailTerminator' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on a terminator - description: Update all fields on a terminator by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Terminator - operationId: updateTerminator - parameters: - - name: terminator - in: body - required: true - description: A terminator update object - schema: - $ref: '#/definitions/terminatorUpdate' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/updateResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on a terminator - description: Update the supplied fields on a terminator. Requires admin access. - security: - - ztSession: [ ] - tags: - - Terminator - operationId: patchTerminator - parameters: - - name: terminator - in: body - required: true - description: A terminator patch object - schema: - $ref: '#/definitions/terminatorPatch' - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/patchResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: '../shared/standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Delete a terminator - description: Delete a terminator by id. Requires admin access. - security: - - ztSession: [ ] - tags: - - Terminator - operationId: deleteTerminator - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/deleteResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse' - -responses: - listTerminators: - description: A list of terminators - schema: - $ref: '#/definitions/listTerminatorsEnvelope' - detailTerminator: - description: A single terminator - schema: - $ref: '#/definitions/detailTerminatorEnvelope' - -definitions: - listTerminatorsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/terminatorList' - detailTerminatorEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/terminatorDetail' - terminatorList: - type: array - items: - $ref: '#/definitions/terminatorDetail' - terminatorDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - serviceId - - service - - routerId - - router - - binding - - address - - identity - - cost - - precedence - - dynamicCost - properties: - serviceId: - type: string - service: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - routerId: - type: string - router: - $ref: '../shared/base-entity.yml#/definitions/entityRef' - binding: - type: string - address: - type: string - identity: - type: string - cost: - $ref: '../shared/terminators.yml#/definitions/terminatorCost' - precedence: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedence' - dynamicCost: - $ref: '../shared/terminators.yml#/definitions/terminatorCost' - terminatorCreate: - type: object - required: - - service - - router - - address - - binding - properties: - service: - type: string - router: - type: string - binding: - type: string - address: - type: string - identity: - type: string - identitySecret: - type: string - format: byte - cost: - $ref: '../shared/terminators.yml#/definitions/terminatorCost' - precedence: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedence' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - terminatorUpdate: - type: object - required: - - service - - router - - address - - binding - properties: - service: - type: string - router: - type: string - binding: - type: string - address: - type: string - cost: - $ref: '../shared/terminators.yml#/definitions/terminatorCost' - precedence: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedence' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' - terminatorPatch: - type: object - properties: - service: - type: string - router: - type: string - binding: - type: string - address: - type: string - cost: - $ref: '../shared/terminators.yml#/definitions/terminatorCost' - precedence: - $ref: '../shared/terminators.yml#/definitions/terminatorPrecedence' - tags: - $ref: '../shared/base-entity.yml#/definitions/tags' \ No newline at end of file diff --git a/specs/source/shared/api-sessions.yml b/specs/source/shared/api-sessions.yml deleted file mode 100644 index 8874ce6c5..000000000 --- a/specs/source/shared/api-sessions.yml +++ /dev/null @@ -1,70 +0,0 @@ ---- - -definitions: - listAPISessionsEnvelope: - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/apiSessionList' - detailApiSessionEnvelope: - required: - - meta - - data - type: object - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/apiSessionDetail' - apiSessionList: - type: array - items: - $ref: '#/definitions/apiSessionDetail' - apiSessionDetail: - description: An API Session object - type: object - allOf: - - $ref: 'base-entity.yml#/definitions/baseEntity' - - type: object - required: - - token - - identity - - identityId - - configTypes - - ipAddress - - authQueries - - cachedUpdatedAt - - isMfaRequired - - isMfaComplete - - authenticatorId - properties: - token: - type: string - identity: - $ref: 'base-entity.yml#/definitions/entityRef' - identityId: - type: string - ipAddress: - type: string - configTypes: - type: array - items: - type: string - authQueries: - $ref: 'auth-query.yml#/definitions/authQueryList' - isMfaRequired: - type: boolean - isMfaComplete: - type: boolean - lastActivityAt: - type: string - format: date-time - cachedLastActivityAt: - type: string - format: date-time - authenticatorId: - type: string \ No newline at end of file diff --git a/specs/source/shared/auth-query.yml b/specs/source/shared/auth-query.yml deleted file mode 100644 index 2ea422955..000000000 --- a/specs/source/shared/auth-query.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -definitions: - authQueryList: - type: array - items: - $ref: '#/definitions/authQueryDetail' - authQueryDetail: - type: object - required: - - provider - properties: - typeId: - type: string - provider: - $ref: 'current-identity-mfa.yml#/definitions/mfaProviders' - httpMethod: - type: string - httpUrl: - type: string - minLength: - type: integer - maxLength: - type: integer - format: - $ref: 'current-identity-mfa.yml#/definitions/mfaFormats' \ No newline at end of file diff --git a/specs/source/shared/authenticate.yml b/specs/source/shared/authenticate.yml deleted file mode 100644 index 83b258bf1..000000000 --- a/specs/source/shared/authenticate.yml +++ /dev/null @@ -1,133 +0,0 @@ ---- - -parameters: - authMethod: - name: method - in: query - required: true - type: string - enum: - - password - - cert - - ext-jwt -paths: - authenticate: - parameters: - - $ref: '#/parameters/authMethod' - post: - summary: Authenticate via a method supplied via a query string parameter - description: | - Allows authentication Methods include "password" and "cert" - security: [ ] - tags: - - Authentication - operationId: authenticate - parameters: - - name: auth - in: body - required: false - schema: - $ref: '#/definitions/authenticate' - responses: - '200': - $ref: './current-api-session.yml/#/responses/detailCurrentAPISession' - '400': - $ref: './standard-responses.yml#/responses/badRequestResponse' - '401': - $ref: './standard-responses.yml#/responses/invalidAuthResponse' - '403': - $ref: './standard-responses.yml#/responses/invalidAuthResponse' - - authenticate-mfa: - post: - summary: Complete MFA authentication - description: Completes MFA authentication by submitting a MFA time based one time token or backup code. - security: - - ztSession: [ ] - tags: - - Authentication - - MFA - operationId: authenticateMfa - parameters: - - name: mfaAuth - in: body - required: true - description: 'An MFA validation request' - schema: - $ref: '#/definitions/mfaCode' - responses: - '200': - $ref: './standard-responses.yml#/responses/emptyResponse' - '401': - $ref: './standard-responses.yml#/responses/emptyResponse' -responses: - $ref: 'standard-responses.yml#/responses' - -definitions: - mfaCode: - type: object - required: - - code - properties: - code: - type: string - password: - type: string - minLength: 5 - maxLength: 100 - password-nullable: - type: string - minLength: 5 - maxLength: 100 - x-nullable: true - username: - type: string - minLength: 4 - maxLength: 100 - username-nullable: - type: string - minLength: 4 - maxLength: 100 - x-nullable: true - envInfo: - description: Environment information an authenticating client may provide - properties: - os: - type: string - arch: - type: string - osRelease: - type: string - osVersion: - type: string - type: object - sdkInfo: - description: SDK information an authenticating client may provide - properties: - type: - type: string - branch: - type: string - version: - type: string - revision: - type: string - appId: - type: string - appVersion: - type: string - type: object - authenticate: - type: object - description: A generic authenticate object meant for use with the /authenticate path. Required fields depend on authentication method. - properties: - username: - $ref: '#/definitions/username' - password: - $ref: '#/definitions/password' - envInfo: - $ref: '#/definitions/envInfo' - sdkInfo: - $ref: '#/definitions/sdkInfo' - configTypes: - $ref: 'config-types.yml#/definitions/configTypes' \ No newline at end of file diff --git a/specs/source/shared/authenticators.yml b/specs/source/shared/authenticators.yml deleted file mode 100644 index a39991a1e..000000000 --- a/specs/source/shared/authenticators.yml +++ /dev/null @@ -1,129 +0,0 @@ ---- - -paths: - -responses: - listAuthenticators: - description: A list of authenticators - schema: - $ref: '#/definitions/listAuthenticatorsEnvelope' - detailAuthenticator: - description: A singular authenticator resource - schema: - $ref: '#/definitions/detailAuthenticatorEnvelope' - -definitions: - listAuthenticatorsEnvelope: - type: object - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/authenticatorList' - detailAuthenticatorEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/authenticatorDetail' - authenticatorCreate: - description: Creates an authenticator for a specific identity which can be used for API authentication - type: object - required: - - method - - identityId - properties: - method: - type: string - description: The type of authenticator to create; which will dictate which properties on this object are required. - identityId: - type: string - description: The id of an existing identity that will be assigned this authenticator - tags: - $ref: 'base-entity.yml#/definitions/tags' - username: - type: string - description: The username that the identity will login with. Used only for method='updb' - password: - type: string - description: The password the identity will login with. Used only for method='updb' - certPem: - description: The client certificate the identity will login with. Used only for method='cert' - type: string - authenticatorList: - description: An array of authenticator resources - type: array - items: - $ref: '#/definitions/authenticatorDetail' - authenticatorDetail: - description: A singular authenticator resource - type: object - allOf: - - $ref: 'base-entity.yml#/definitions/baseEntity' - - type: object - required: - - method - - identityId - - identity - properties: - method: - type: string - identityId: - type: string - identity: - $ref: 'base-entity.yml#/definitions/entityRef' - certPem: - type: string - fingerprint: - type: string - username: - type: string - authenticatorUpdate: - description: All of the fields on an authenticator that will be updated - type: object - required: - - username - - password - properties: - username: - $ref: 'authenticate.yml#/definitions/username' - password: - $ref: 'authenticate.yml#/definitions/password' - tags: - $ref: 'base-entity.yml#/definitions/tags' - authenticatorPatch: - description: All of the fields on an authenticator that may be updated - type: object - properties: - username: - $ref: 'authenticate.yml#/definitions/username-nullable' - password: - $ref: 'authenticate.yml#/definitions/password-nullable' - tags: - $ref: 'base-entity.yml#/definitions/tags' - authenticatorUpdateWithCurrent: - description: All of the fields on an authenticator that will be updated - type: object - allOf: - - $ref: '#/definitions/authenticatorUpdate' - - type: object - required: - - currentPassword - properties: - currentPassword: - $ref: 'authenticate.yml#/definitions/password' - authenticatorPatchWithCurrent: - description: All of the fields on an authenticator that may be updated - type: object - allOf: - - $ref: '#/definitions/authenticatorPatch' - - type: object - required: - - currentPassword - properties: - currentPassword: - $ref: 'authenticate.yml#/definitions/password' \ No newline at end of file diff --git a/specs/source/shared/base-entity.yml b/specs/source/shared/base-entity.yml deleted file mode 100644 index 5b34eccde..000000000 --- a/specs/source/shared/base-entity.yml +++ /dev/null @@ -1,102 +0,0 @@ ---- -definitions: - baseEntity: - description: Fields shared by all Edge API entities - type: object - required: - - id - - createdAt - - updatedAt - - _links - properties: - id: - type: string - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - _links: - $ref: '#/definitions/links' - tags: - $ref: '#/definitions/tags' - link: - description: A link to another resource - type: object - required: - - href - properties: - href: - type: string - format: uri - method: - type: string - comment: - type: string - links: - description: A map of named links - type: object - x-omitempty: false - additionalProperties: - $ref: '#/definitions/link' - entityRef: - description: A reference to another resource and links to interact with it - type: object - properties: - entity: - type: string - id: - type: string - name: - type: string - _links: - $ref: '#/definitions/links' - tags: - description: 'A map of user defined fields and values. The values are limited to the following types/values: null, string, boolean' - allOf: - - $ref: '#/definitions/subTags' - x-nullable: true - subTags: - type: object - additionalProperties: { - type: object - } - attributes: - description: A set of strings used to loosly couple this resource to policies - type: array - x-omitempty: true - x-nullable: true - items: - type: string - roles: - type: array - x-omitempty: false - items: - type: string - namedRole: - type: object - properties: - role: - type: string - name: - type: string - namedRoles: - type: array - x-omitempty: false - items: - $ref: '#/definitions/namedRole' - semantic: - type: string - enum: - - AllOf - - AnyOf - dialBind: - type: string - enum: - - Dial - - Bind - dialBindArray: - type: array - items: - $ref: '#/definitions/dialBind' \ No newline at end of file diff --git a/specs/source/shared/config-types.yml b/specs/source/shared/config-types.yml deleted file mode 100644 index 7c2ff5f7c..000000000 --- a/specs/source/shared/config-types.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -definitions: - configTypes: - description: Specific configuration types that should be returned - type: array - items: - type: string \ No newline at end of file diff --git a/specs/source/shared/current-api-session.yml b/specs/source/shared/current-api-session.yml deleted file mode 100644 index 9d4ceb5b7..000000000 --- a/specs/source/shared/current-api-session.yml +++ /dev/null @@ -1,94 +0,0 @@ ---- -paths: - current-api-session: - get: - summary: Return the current API session - description: Retrieves the API session that was used to issue the current request - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: getCurrentAPISession - responses: - 200: - $ref: '#/responses/detailCurrentAPISession' - 401: - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - delete: - summary: Logout - description: Terminates the current API session - security: - - ztSession: [ ] - tags: - - Current API Session - responses: - 200: - $ref: 'standard-responses.yml#/responses/emptyResponse' - 401: - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - -responses: - detailCurrentAPISession: - description: The API session associated with the session used to issue the request - schema: - $ref: '#/definitions/currentApiSessionDetailEnvelope' - examples: - default: - meta: { } - data: - id: 27343114-b44f-406e-9981-f3c4f2f28d54 - createdAt: '2020-03-09T19:03:49.1883693Z' - updatedAt: '2020-03-09T19:04:21.5600897Z' - _links: - self: - href: './current-api-session' - tags: - - userField1: 123 - - userField2: asdf - token: 28bb0ed2-0577-4632-ae70-d17106b92871 - identity: - urlName: identities - id: 66352d7b-a6b2-4ce9-85bb-9f18e318704d - name: Default Admin - _links: - self: - href: './identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d' - expiresAt: '2020-03-09T19:34:21.5600897Z' - configTypes: [ ] - -definitions: - detailApiSessionEnvelope: - required: - - meta - - data - type: object - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: 'api-sessions.yml#/definitions/apiSessionDetail' - currentApiSessionDetailEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/currentApiSessionDetail' - currentApiSessionDetail: - description: An API Session object for the current API session - type: object - allOf: - - $ref: 'api-sessions.yml#/definitions/apiSessionDetail' - - type: object - required: - - expiresAt - - expirationSeconds - properties: - expiresAt: - type: string - format: date-time - expirationSeconds: - type: integer diff --git a/specs/source/shared/current-identity-authenticators.yml b/specs/source/shared/current-identity-authenticators.yml deleted file mode 100644 index eab429581..000000000 --- a/specs/source/shared/current-identity-authenticators.yml +++ /dev/null @@ -1,197 +0,0 @@ ---- - -paths: - current-identity-authenticators: - get: - summary: List authenticators for the current identity - description: Retrieves a list of authenticators assigned to the current API session's identity; supports filtering, sorting, and pagination. - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: listCurrentIdentityAuthenticators - parameters: - - $ref: 'parameters.yml#/limit' - - $ref: 'parameters.yml#/offset' - - $ref: 'parameters.yml#/filter' - responses: - '200': - $ref: 'authenticators.yml#/responses/listAuthenticators' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - '400': - $ref: '../shared/standard-responses.yml#/responses/badRequestResponse' - current-identity-authenticators-id: - parameters: - - $ref: 'parameters.yml#/id' - get: - summary: Retrieve an authenticator for the current identity - description: Retrieves a single authenticator by id. Will only show authenticators assigned to the API session's identity. - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: detailCurrentIdentityAuthenticator - responses: - '200': - $ref: 'authenticators.yml#/responses/detailAuthenticator' - '404': - $ref: 'standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - put: - summary: Update all fields on an authenticator of this identity - description: | - Update all fields on an authenticator by id. Will only update authenticators assigned to the API session's - identity. - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: updateCurrentIdentityAuthenticator - parameters: - - name: authenticator - in: body - required: true - description: 'An authenticator put object' - schema: - $ref: 'authenticators.yml#/definitions/authenticatorUpdateWithCurrent' - responses: - '200': - $ref: 'standard-responses.yml#/responses/updateResponse' - '400': - $ref: 'standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: 'standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - patch: - summary: Update the supplied fields on an authenticator of this identity - description: | - Update the supplied fields on an authenticator by id. Will only update authenticators assigned to the API - session's identity. - security: - - ztSession: [ ] - tags: - - Current API Session - operationId: patchCurrentIdentityAuthenticator - parameters: - - name: authenticator - in: body - required: true - description: An authenticator patch object - schema: - $ref: 'authenticators.yml#/definitions/authenticatorPatchWithCurrent' - responses: - '200': - $ref: 'standard-responses.yml#/responses/patchResponse' - '400': - $ref: 'standard-responses.yml#/responses/badRequestResponse' - '404': - $ref: 'standard-responses.yml#/responses/notFoundResponse' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - current-identity-authenticators-id-extend: - parameters: - - $ref: 'parameters.yml#/id' - post: - summary: Allows the current identity to recieve a new certificate associated with a certificate based authenticator - description: >- - This endpoint only functions for certificates issued by the controller. 3rd party - certificates are not handled. - - Allows an identity to extend its certificate's expiration date by - using its current and valid client certificate to submit a CSR. This CSR may - be passed in using a new private key, thus allowing private key rotation. - - The response from this endpoint is a new client certificate which the client must - be verified via the /authenticators/{id}/extend-verify endpoint. - - After verification is completion any new connections must be made with new certificate. - Prior to verification the old client certificate remains active. - security: - - ztSession: [ ] - operationId: extendCurrentIdentityAuthenticator - parameters: - - name: extend - in: body - required: true - schema: - $ref: '#/definitions/identityExtendEnrollmentRequest' - tags: - - Current API Session - - Enroll - - Extend Enrollment - responses: - '200': - $ref: '#/responses/identityExtendEnrollmentResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - - current-identity-authenticators-id-extend-verify: - parameters: - - $ref: 'parameters.yml#/id' - post: - summary: Allows the current identity to validate reciept of a new client certificate - description: >- - After submitting a CSR for a new client certificate the resulting public certificate - must be re-submitted to this endpoint to verify receipt. - - After receipt, the new client certificate must be used for new authentication requests. - security: - - ztSession: [ ] - operationId: extendVerifyCurrentIdentityAuthenticator - parameters: - - name: extend - in: body - required: true - schema: - $ref: '#/definitions/identityExtendValidateEnrollmentRequest' - tags: - - Current API Session - - Enroll - - Extend Enrollment - responses: - '200': - $ref: '../shared/standard-responses.yml#/responses/emptyResponse' - '401': - $ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse' - -responses: - identityExtendEnrollmentResponse: - description: A response containg the identity's new certificate - schema: - $ref: '#/definitions/identityExtendEnrollmentEnvelope' - -definitions: - identityExtendValidateEnrollmentRequest: - type: object - required: - - clientCert - properties: - clientCert: - type: string - description: A PEM encoded client certificate previously returned after an extension request - identityExtendEnrollmentRequest: - type: object - required: - - clientCertCsr - properties: - clientCertCsr: - type: string - identityExtendEnrollmentEnvelope: - type: object - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/identityExtendCerts' - identityExtendCerts: - type: object - properties: - clientCert: - type: string - description: A PEM encoded client certificate - ca: - type: string - description: A PEM encoded set of CA certificates \ No newline at end of file diff --git a/specs/source/shared/current-identity-mfa.yml b/specs/source/shared/current-identity-mfa.yml deleted file mode 100644 index ef837f33e..000000000 --- a/specs/source/shared/current-identity-mfa.yml +++ /dev/null @@ -1,275 +0,0 @@ ---- -paths: - current-identity-mfa: - post: - summary: Initiate MFA enrollment - description: > - Allows authenticator based MFA enrollment. If enrollment has already been completed, it must be - disabled before attempting to re-enroll. Subsequent enrollment request is completed via - `POST /current-identity/mfa/verify` - security: - - ztSession: [ ] - tags: - - Current Identity - - MFA - operationId: enrollMfa - responses: - '201': - $ref: 'standard-responses.yml#/responses/createResponse' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - '409': - $ref: '#/responses/alreadyMfaEnrolledResponse' - get: - summary: Returns the current status of MFA enrollment - description: > - Returns details about the current MFA enrollment. If enrollment has not been completed it will - return the current MFA configuration details necessary to complete a `POST /current-identity/mfa/verify`. - security: - - ztSession: [ ] - tags: - - Current Identity - - MFA - operationId: detailMfa - responses: - '200': - $ref: '#/responses/detailMfa' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - '404': - $ref: 'standard-responses.yml#/responses/notFoundResponse' - delete: - summary: Disable MFA for the current identity - description: > - Disable MFA for the current identity. Requires a current valid time based one time password if MFA enrollment - has been completed. If not, code should be an empty string. If one time passwords are not available and admin - account can be used to remove MFA from the identity via `DELETE /identities//mfa`. - security: - - ztSession: [ ] - tags: - - Current Identity - - MFA - operationId: deleteMfa - parameters: - - name: mfaValidation - in: body - required: false - description: 'An MFA validation request' - schema: - $ref: 'authenticate.yml#/definitions/mfaCode' - - name: mfa-validation-code - in: header - required: false - type: string - responses: - '200': - $ref: 'standard-responses.yml#/responses/emptyResponse' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - '404': - $ref: 'standard-responses.yml#/responses/notFoundResponse' - current-identity-mfa-qr-code: - get: - summary: Show a QR code for unverified MFA enrollments - description: > - Shows an QR code image for unverified MFA enrollments. 404s if the MFA enrollment has been completed or - not started. - security: - - ztSession: [ ] - tags: - - Current Identity - - MFA - operationId: detailMfaQrCode - produces: - - image/png - - application/json - responses: - 200: - description: OK - 404: - description: No MFA enrollment or MFA enrollment is completed - current-identity-mfa-verify: - post: - summary: Complete MFA enrollment by verifying a time based one time token - description: > - Completes MFA enrollment by accepting a time based one time password as verification. Called - after MFA enrollment has been initiated via `POST /current-identity/mfa`. - security: - - ztSession: [ ] - tags: - - Current Identity - - MFA - operationId: verifyMfa - parameters: - - name: mfaValidation - in: body - required: true - description: 'An MFA validation request' - schema: - $ref: 'authenticate.yml#/definitions/mfaCode' - responses: - '200': - $ref: 'standard-responses.yml#/responses/emptyResponse' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - '404': - $ref: 'standard-responses.yml#/responses/notFoundResponse' - current-identity-mfa-recovery-codes: - get: - summary: For a completed MFA enrollment view the current recovery codes - description: > - Allows the viewing of recovery codes of an MFA enrollment. Requires a current valid - time based one time password to interact with. Available after a completed MFA enrollment. - security: - - ztSession: [ ] - tags: - - Current Identity - - MFA - operationId: detailMfaRecoveryCodes - parameters: - - name: mfaValidation - in: body - required: false - description: 'An MFA validation request' - schema: - $ref: 'authenticate.yml#/definitions/mfaCode' - - name: mfa-validation-code - in: header - required: false - type: string - responses: - '200': - $ref: 'standard-responses.yml#/responses/emptyResponse' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - '404': - $ref: 'standard-responses.yml#/responses/notFoundResponse' - post: - summary: For a completed MFA enrollment regenerate the recovery codes - description: > - Allows regeneration of recovery codes of an MFA enrollment. Requires a current valid - time based one time password to interact with. Available after a completed MFA enrollment. This replaces - all existing recovery codes. - security: - - ztSession: [ ] - tags: - - Current Identity - - MFA - operationId: createMfaRecoveryCodes - parameters: - - name: mfaValidation - in: body - required: true - description: 'An MFA validation request' - schema: - $ref: 'authenticate.yml#/definitions/mfaCode' - responses: - '200': - $ref: '#/responses/detailMfaRecoveryCodes' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' - '404': - $ref: 'standard-responses.yml#/responses/notFoundResponse' - -responses: - alreadyMfaEnrolledResponse: - description: The identity is already enrolled in MFA - schema: - $ref: 'standard-responses.yml#/definitions/apiErrorEnvelope' - examples: - 'application/json': - error: - args: - cause: - causeMessage: '' - code: ALREADY_MFA_ENROLLED - message: The identity is already enrolled in MFA - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - mfaCreatedResponse: - description: The create request was succesful and the response contains the location and details to complete MFA enrollment - schema: - $ref: '#/definitions/mfaCreatedEnvelope' - - detailMfa: - description: The details of an MFA enrollment - schema: - $ref: '#/definitions/detailMfaEnvelope' - - detailMfaRecoveryCodes: - description: The recovery codes of an MFA enrollment - schema: - $ref: '#/definitions/detailMfaRecoveryCodesEnvelope' - -definitions: - mfaFormats: - type: string - enum: - - numeric - - alpha - - alphaNumeric - mfaProviders: - type: string - enum: - - ziti - - url - mfaCreatedEnvelope: - type: object - required: - - meta - - error - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - error: - $ref: '#/definitions/apiError' - detailMfaEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/detailMfa' - detailMfa: - type: object - allOf: - - $ref: 'base-entity.yml#/definitions/baseEntity' - - required: - - isVerified - properties: - isVerified: - type: boolean - recoveryCodes: - type: array - items: - type: string - description: Not provided if MFA verification has been completed - provisioningUrl: - type: string - description: Not provided if MFA verification has been completed - detailMfaRecoveryCodesEnvelope: - type: object - required: - - meta - - error - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - error: - $ref: '#/definitions/detailMfaRecoveryCodes' - detailMfaRecoveryCodes: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - required: - - recoveryCodes - properties: - recoveryCodes: - type: array - items: - type: string diff --git a/specs/source/shared/current-identity.yml b/specs/source/shared/current-identity.yml deleted file mode 100644 index e41cf1489..000000000 --- a/specs/source/shared/current-identity.yml +++ /dev/null @@ -1,63 +0,0 @@ ---- -paths: - current-identity: - get: - summary: Return the current identity - description: Returns the identity associated with the API sessions used to issue the current request - security: - - ztSession: [ ] - tags: - - Current Identity - operationId: getCurrentIdentity - responses: - '200': - $ref: '#/responses/detailCurrentIdentity' - '401': - $ref: 'standard-responses.yml#/responses/unauthorizedResponse' -responses: - detailCurrentIdentity: - description: The identity associated with the API Session used to issue the request - schema: - $ref: '#/definitions/currentIdentityDetailEnvelope' - examples: - default: - meta: { } - data: - id: 66352d7b-a6b2-4ce9-85bb-9f18e318704d - createdAt: '2020-01-13T16:38:13.6854788Z' - updatedAt: '2020-01-13T16:38:13.6854788Z' - _links: - edge-router-policies: - href: './identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d/edge-routers' - self: - href: './identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d' - service-policies: - href: './identities/66352d7b-a6b2-4ce9-85bb-9f18e318704d/identities' - tags: { } - name: Default Admin - type: - urlName: identity-types - id: User - name: User - _links: - self: - href: './identity-types/User' - isDefaultAdmin: true - isAdmin: true - authenticators: - updb: - username: admin - enrollment: { } - roleAttributes: [] - -definitions: - currentIdentityDetailEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: 'identities.yml#/definitions/identityDetail' \ No newline at end of file diff --git a/specs/source/shared/edge-routers.yml b/specs/source/shared/edge-routers.yml deleted file mode 100644 index 9d8511cb4..000000000 --- a/specs/source/shared/edge-routers.yml +++ /dev/null @@ -1,35 +0,0 @@ ---- -definitions: - commonEdgeRouterProperties: - type: object - required: - - hostname - - name - - supportedProtocols - - syncStatus - - isOnline - - cost - - noTraversal - properties: - hostname: - type: string - name: - type: string - supportedProtocols: - additionalProperties: - type: string - type: object - syncStatus: - type: string - isOnline: - type: boolean - cost: - type: integer - minimum: 0 - maximum: 65535 - x-nullable: true - noTraversal: - type: boolean - x-nullable: true - appData: - $ref: 'base-entity.yml#/definitions/tags' \ No newline at end of file diff --git a/specs/source/shared/identities.yml b/specs/source/shared/identities.yml deleted file mode 100644 index fff360a2b..000000000 --- a/specs/source/shared/identities.yml +++ /dev/null @@ -1,146 +0,0 @@ ---- - -definitions: - identityList: - description: A list of identities - type: array - items: - $ref: '#/definitions/identityDetail' - identityDetail: - description: Detail of a specific identity - type: object - allOf: - - $ref: 'base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - type - - typeId - - isDefaultAdmin - - isAdmin - - authenticators - - enrollment - - envInfo - - sdkInfo - - roleAttributes - - hasEdgeRouterConnection - - hasApiSession - - isMfaEnabled - - serviceHostingPrecedences - - serviceHostingCosts - - defaultHostingCost - - authPolicyId - - externalId - - disabled - properties: - name: - type: string - type: - $ref: 'base-entity.yml#/definitions/entityRef' - typeId: - type: string - isDefaultAdmin: - type: boolean - isAdmin: - type: boolean - authenticators: - $ref: '#/definitions/identityAuthenticators' - enrollment: - $ref: '#/definitions/identityEnrollments' - envInfo: - $ref: 'authenticate.yml#/definitions/envInfo' - sdkInfo: - $ref: 'authenticate.yml#/definitions/sdkInfo' - roleAttributes: - $ref: 'base-entity.yml#/definitions/attributes' - hasEdgeRouterConnection: - type: boolean - hasApiSession: - type: boolean - isMfaEnabled: - type: boolean - authPolicyId: - type: string - defaultHostingPrecedence: - $ref: 'terminators.yml#/definitions/terminatorPrecedence' - defaultHostingCost: - $ref: 'terminators.yml#/definitions/terminatorCost' - serviceHostingPrecedences: - $ref: 'terminators.yml#/definitions/terminatorPrecedenceMap' - serviceHostingCosts: - $ref: 'terminators.yml#/definitions/terminatorCostMap' - appData: - $ref: 'base-entity.yml#/definitions/tags' - externalId: - type: string - x-nullable: true - disabled: - type: boolean - disabledAt: - type: string - format: date-time - x-nullable: true - disabledUntil: - type: string - format: date-time - x-nullable: true - identityAuthenticators: - type: object - properties: - updb: - properties: - id: - type: string - username: - type: string - type: object - cert: - type: object - properties: - id: - type: string - fingerprint: - type: string - identityEnrollments: - type: object - properties: - updb: - type: object - properties: - id: - type: string - token: - type: string - jwt: - type: string - expiresAt: - type: string - format: date-time - ott: - type: object - properties: - id: - type: string - token: - type: string - jwt: - type: string - expiresAt: - type: string - format: date-time - ottca: - type: object - properties: - id: - type: string - token: - type: string - jwt: - type: string - caId: - type: string - ca: - $ref: 'base-entity.yml#/definitions/entityRef' - expiresAt: - type: string - format: date-time \ No newline at end of file diff --git a/specs/source/shared/parameters.yml b/specs/source/shared/parameters.yml deleted file mode 100644 index 18e84c826..000000000 --- a/specs/source/shared/parameters.yml +++ /dev/null @@ -1,55 +0,0 @@ ---- -id: - name: id - required: true - type: string - in: path - description: The id of the requested resource -serviceId: - name: serviceId - required: true - type: string - in: path - description: The id of a service -limit: - name: limit - type: integer - in: query -offset: - name: offset - type: integer - in: query -filter: - name: filter - type: string - in: query -token: - name: token - type: string - format: uuid - in: query - required: true -token-optional: - name: token - type: string - format: uuid - in: query -authMethod: - name: method - in: query - required: true - type: string - enum: - - password - - cert -roleFilter: - name: roleFilter - type: array - in: query - collectionFormat: multi - items: - type: string -roleSemantic: - name: roleSemantic - type: string - in: query \ No newline at end of file diff --git a/specs/source/shared/posture-checks.yml b/specs/source/shared/posture-checks.yml deleted file mode 100644 index 01a272f2a..000000000 --- a/specs/source/shared/posture-checks.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- - -definitions: - postureCheckType: - type: string - enum: - - OS - - PROCESS - - DOMAIN - - MAC - - MFA - - PROCESS_MULTI - osType: - type: string - enum: - - Windows - - WindowsServer - - Android - - iOS - - Linux - - macOS \ No newline at end of file diff --git a/specs/source/shared/posture-queries.yml b/specs/source/shared/posture-queries.yml deleted file mode 100644 index 51698f29b..000000000 --- a/specs/source/shared/posture-queries.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- - -definitions: - postureQueries: - type: object - required: - - policyId - - isPassing - - postureQueries - properties: - policyId: - type: string - isPassing: - type: boolean - policyType: - $ref: 'base-entity.yml#/definitions/dialBind' - postureQueries: - type: array - items: - $ref: '#/definitions/postureQuery' - postureQuery: - type: object - allOf: - - $ref: 'base-entity.yml#/definitions/baseEntity' - - type: object - required: - - queryType - - isPassing - - timeout - - timeoutRemaining - properties: - isPassing: - type: boolean - timeout: - type: integer - timeoutRemaining: - type: integer - queryType: - $ref: 'posture-checks.yml#/definitions/postureCheckType' - process: - $ref: '#/definitions/postureQueryProcess' - processes: - type: array - items: - $ref: '#/definitions/postureQueryProcess' - postureQueryProcess: - type: object - properties: - osType: - $ref: 'posture-checks.yml#/definitions/osType' - path: - type: string \ No newline at end of file diff --git a/specs/source/shared/services.yml b/specs/source/shared/services.yml deleted file mode 100644 index 6a17fdf85..000000000 --- a/specs/source/shared/services.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- - -responses: - listServices: - description: A list of services - schema: - $ref: '#/definitions/listServicesEnvelope' - detailService: - description: A single service - schema: - $ref: '#/definitions/detailServiceEnvelope' - -definitions: - listServicesEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/serviceList' - detailServiceEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: '../shared/standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/serviceDetail' - serviceList: - type: array - items: - $ref: '#/definitions/serviceDetail' - serviceDetail: - type: object - allOf: - - $ref: '../shared/base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - - terminatorStrategy - - roleAttributes - - permissions - - configs - - config - - encryptionRequired - - postureQueries - properties: - name: - type: string - terminatorStrategy: - type: string - roleAttributes: - $ref: '../shared/base-entity.yml#/definitions/attributes' - permissions: - $ref: '../shared/base-entity.yml#/definitions/dialBindArray' - configs: - type: array - items: - type: string - config: - type: object - additionalProperties: - type: object - additionalProperties: - type: object - description: map of config data for this service keyed by the config type name. Only configs of the types requested will be returned. - encryptionRequired: - description: Describes whether connections must support end-to-end encryption on both sides of the connection. Read-only property, set at create. - type: boolean - postureQueries: - type: array - items: - $ref: '../shared/posture-queries.yml#/definitions/postureQueries' \ No newline at end of file diff --git a/specs/source/shared/sessions.yml b/specs/source/shared/sessions.yml deleted file mode 100644 index cfb3177e4..000000000 --- a/specs/source/shared/sessions.yml +++ /dev/null @@ -1,84 +0,0 @@ ---- - -responses: - listSessions: - description: A list of sessions - schema: - $ref: '#/definitions/listSessionsEnvelope' - detailSession: - description: A single session - schema: - $ref: '#/definitions/detailSessionEnvelope' - -definitions: - listSessionsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/sessionList' - detailSessionEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/sessionDetail' - - - sessionList: - type: array - items: - $ref: '#/definitions/sessionDetail' - sessionDetail: - type: object - allOf: - - $ref: 'base-entity.yml#/definitions/baseEntity' - - type: object - required: - - type - - apiSessionId - - apiSession - - serviceId - - service - - token - - edgeRouters - - identityId - properties: - type: - $ref: 'base-entity.yml#/definitions/dialBind' - token: - type: string - apiSessionId: - type: string - apiSession: - $ref: 'base-entity.yml#/definitions/entityRef' - serviceId: - type: string - service: - $ref: 'base-entity.yml#/definitions/entityRef' - edgeRouters: - type: array - items: - $ref: '#/definitions/sessionEdgeRouter' - identityId: - type: string - sessionEdgeRouter: - allOf: - - $ref: "edge-routers.yml#/definitions/commonEdgeRouterProperties" - - type: object - required: - - urls - properties: - # deprecated property, see supportedProtocols in commonEdgeRouterProperties - urls: - type: object - additionalProperties: - type: string \ No newline at end of file diff --git a/specs/source/shared/specs.yml b/specs/source/shared/specs.yml deleted file mode 100644 index 6003b480d..000000000 --- a/specs/source/shared/specs.yml +++ /dev/null @@ -1,105 +0,0 @@ ---- - -paths: - specs: - get: - summary: Returns a list of API specs - description: Returns a list of spec files embedded within the controller for consumption/documentation/code geneartion - security: [ ] - tags: - - Informational - operationId: listSpecs - responses: - '200': - $ref: '#/responses/listSpecs' - specs-id: - parameters: - - $ref: 'parameters.yml#/id' - get: - summary: Return a single spec resource - description: Returns single spec resource embedded within the controller for consumption/documentation/code geneartion - security: [ ] - tags: - - Informational - operationId: detailSpec - responses: - '200': - $ref: '#/responses/detailSpec' - specs-id-spec: - parameters: - - $ref: 'parameters.yml#/id' - get: - summary: Returns the spec's file - description: Return the body of the specification (i.e. Swagger, OpenAPI 2.0, 3.0, etc). - security: [ ] - tags: - - Informational - operationId: detailSpecBody - produces: - - text/yaml - - application/json - responses: - '200': - $ref: '#/responses/detailSpecBody' - -responses: - listSpecs: - description: A list of specifications - schema: - $ref: '#/definitions/listSpecsEnvelope' - detailSpec: - description: A single specification - schema: - $ref: '#/definitions/detailSpecEnvelope' - detailSpecBody: - description: Returns the document that represents the specification - schema: - $ref: '#/definitions/detailSpecBodyEnvelope' - -definitions: - listSpecsEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/specList' - detailSpecEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/specDetail' - detailSpecBodyEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/specBodyDetail' - specList: - type: array - items: - $ref: '#/definitions/specDetail' - specDetail: - type: object - allOf: - - $ref: 'base-entity.yml#/definitions/baseEntity' - - type: object - required: - - name - properties: - name: - type: string - specBodyDetail: - type: string \ No newline at end of file diff --git a/specs/source/shared/standard-request.yml b/specs/source/shared/standard-request.yml deleted file mode 100644 index 30d4d02b9..000000000 --- a/specs/source/shared/standard-request.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -definitions: - pagination: - type: object - required: - - limit - - offset - - totalCount - properties: - limit: - type: number - format: int64 - offset: - type: number - format: int64 - totalCount: - type: number - format: int64 \ No newline at end of file diff --git a/specs/source/shared/standard-responses.yml b/specs/source/shared/standard-responses.yml deleted file mode 100644 index f7f4d7c88..000000000 --- a/specs/source/shared/standard-responses.yml +++ /dev/null @@ -1,228 +0,0 @@ ---- -responses: - emptyResponse: - description: Base empty response - schema: - $ref: '#/definitions/empty' - deleteResponse: - description: The delete request was successful and the resource has been removed - schema: - $ref: '#/definitions/empty' - updateResponse: - description: The update request was successful and the resource has been altered - schema: - $ref: '#/definitions/empty' - patchResponse: - description: The patch request was successful and the resource has been altered - schema: - $ref: '#/definitions/empty' - createResponse: - description: The create request was successful and the resource has been added at the following location - schema: - $ref: '#/definitions/createEnvelope' - badRequestResponse: - description: The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - 'application/json': - error: - args: - urlVars: { } - cause: - field: '(root)' - type: required - value: - fooField: abc - fooField2: def - message: '(root): fooField3 is required' - details: - context: '(root)' - field: '(root)' - property: fooField3 - causeMessage: schema validation failed - code: COULD_NOT_VALIDATE - message: The supplied request contains an invalid document - requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - conflictResponse: - description: The request could not be completed due to a conflict of configuration or state - schema: - $ref: '#/definitions/apiErrorEnvelope' - unauthorizedResponse: - description: The currently supplied session does not have the correct access rights to request this resource - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - 'application/json': - error: - args: - urlVars: { } - cause: '' - causeMessage: '' - code: UNAUTHORIZED - message: The request could not be completed. The session is not authorized or the - credentials are invalid - requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - invalidAuthResponse: - description: The authentication request could not be processed as the credentials are invalid - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - 'application/json': - error: - args: - urlVars: { } - cause: '' - causeMessage: '' - code: INVALID_AUTH - message: The authentication request failed - requestId: 5952ed10-3091-474f-a691-47ebab6990dc - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - notFoundResponse: - description: The requested resource does not exist - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - 'application/json': - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - cause: - causeMessage: '' - code: NOT_FOUND - message: The resource requested was not found or is no longer available - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - cannotDeleteReferencedResourceResponse: - description: The resource requested to be removed/altered cannot be as it is referenced by another object. - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - 'application/json': - error: - args: - urlVars: - id: 71a3000f-7dda-491a-9b90-a19f4ee6c406 - causeMessage: 'referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42' - code: CONFLICT_CANNOT_MODIFY_REFERENCED - message: The resource cannot be deleted/modified. Remove all referencing resources first. - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 - rateLimitedResponse: - description: The resource requested is rate limited and the rate limit has been exceeded - schema: - $ref: '#/definitions/apiErrorEnvelope' - examples: - 'application/json': - error: - args: - urlVars: { } - causeMessage: 'you have hit a rate limit in the requested operation' - code: RATE_LIMITED - message: The resource is rate limited and the rate limit has been exceeded. Please try again later - requestId: 270908d6-f2ef-4577-b973-67bec18ae376 - meta: - apiEnrollmentVersion: 0.0.1 - apiVersion: 0.0.1 -definitions: - empty: - type: object - required: - - meta - - data - properties: - meta: - $ref: '#/definitions/meta' - data: - type: object - example: { } - meta: - type: object - properties: - filterableFields: - type: array - items: - type: string - x-omitempty: true - pagination: - $ref: 'standard-request.yml#/definitions/pagination' - apiEnrollmentVersion: - type: string - apiVersion: - type: string - createEnvelope: - type: object - properties: - meta: - $ref: '#/definitions/meta' - data: - $ref: '#/definitions/createLocation' - createLocation: - type: object - properties: - _links: - $ref: 'base-entity.yml#/definitions/links' - id: - type: string - apiErrorEnvelope: - type: object - required: - - meta - - error - properties: - meta: - $ref: '#/definitions/meta' - error: - $ref: '#/definitions/apiError' - apiError: - type: object - properties: - args: - $ref: '#/definitions/apiErrorArgs' - data: - type: object - additionalProperties: true - causeMessage: - type: string - code: - type: string - message: - type: string - requestId: - type: string - cause: - $ref: '#/definitions/apiErrorCause' - apiFieldError: - type: object - properties: - reason: - type: string - field: - type: string - value: - description: can be any value - string, number, boolean, array or object - apiErrorCause: - allOf: - - $ref: '#/definitions/apiFieldError' - - $ref: '#/definitions/apiError' - apiErrorArgs: - type: object - properties: - urlVars: - properties: { } - additionalProperties: - type: string - type: object diff --git a/specs/source/shared/terminators.yml b/specs/source/shared/terminators.yml deleted file mode 100644 index 8bd0e54f3..000000000 --- a/specs/source/shared/terminators.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- - -definitions: - terminatorCost: - type: integer - minimum: 0 - maximum: 65535 - terminatorPrecedence: - type: string - enum: - - default - - required - - failed - terminatorPrecedenceMap: - type: object - additionalProperties: - $ref: '#/definitions/terminatorPrecedence' - terminatorCostMap: - type: object - additionalProperties: - $ref: '#/definitions/terminatorCost' \ No newline at end of file diff --git a/specs/source/shared/version.yml b/specs/source/shared/version.yml deleted file mode 100644 index bed00db1a..000000000 --- a/specs/source/shared/version.yml +++ /dev/null @@ -1,92 +0,0 @@ ---- -paths: - root: - get: - summary: Returns version information - security: [ ] - tags: - - Informational - operationId: listRoot - responses: - '200': - $ref: '#/responses/listVersion' - version: - get: - summary: Returns version information - security: [ ] - tags: - - Informational - operationId: listVersion - responses: - '200': - $ref: '#/responses/listVersion' -responses: - listVersion: - description: Version information for the controller - schema: - $ref: '#/definitions/listVersionEnvelope' - -definitions: - listVersionEnvelope: - type: object - required: - - meta - - data - properties: - meta: - $ref: 'standard-responses.yml#/definitions/meta' - data: - $ref: '#/definitions/version' - version: - type: object - properties: - buildDate: - type: string - example: '2020-02-11 16:09:08' - revision: - type: string - example: 'ea556fc18740' - runtimeVersion: - type: string - example: 'go1.13.5' - version: - type: string - example: 'v0.9.0' - apiVersions: - type: object - additionalProperties: - type: object - additionalProperties: - $ref: '#/definitions/apiVersion' - apiVersion: - type: object - required: - - path - properties: - version: - type: string - path: - type: string - apiBaseUrls: - type: array - items: - type: string - versionInfo: - type: object - required: - - os - - version - - arch - - buildDate - - revision - properties: - os: - type: string - version: - type: string - arch: - type: string - buildDate: - type: string - revision: - type: string \ No newline at end of file