diff --git a/static/api-specs/idn/beta/paths/discovered-applications.yaml b/static/api-specs/idn/beta/paths/discovered-applications.yaml index 5a3332f7697..4a7934cdb4a 100644 --- a/static/api-specs/idn/beta/paths/discovered-applications.yaml +++ b/static/api-specs/idn/beta/paths/discovered-applications.yaml @@ -11,6 +11,15 @@ get: parameters: - $ref: '../../v3/parameters/limit.yaml' - $ref: '../../v3/parameters/offset.yaml' + - in: query + name: detail + schema: + type: string + enum: [ SLIM, FULL ] + description: >- + Determines whether slim, or increased level of detail is provided for each discovered application in the returned list. + SLIM is the default behavior. + example: FULL - in: query name: filter schema: @@ -26,7 +35,22 @@ get: **description**: *eq, sw, co* - example: name eq "Okta" and description co "Okta" + + + **createdAtStart**: *eq, le, ge* + + + **createdAtEnd**: *eq, le, ge* + + + **discoveredAtStart**: *eq, le, ge* + + + **discoveredAtEnd**: *eq, le, ge* + + + **discoverySource**: *eq, in* + example: name eq "Okta" and description co "Okta" and discoverySource in ("csv", "Okta Saas") required: false style: form - in: query @@ -42,13 +66,22 @@ get: example: name responses: '200': - description: Successfully retrieved list of discovered applications. + description: List of discovered applications. By default, the API returns a list of SLIM discovered applications. content: application/json: schema: type: array items: - $ref: '../../beta/schemas/DiscoveredApplications.yaml' + oneOf: + - $ref: '../schemas/SlimDiscoveredApplications.yaml' + - $ref: '../schemas/FullDiscoveredApplications.yaml' + + + examples: + Slim Discovered Application: + $ref: '../schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml' + Discovered Application: + $ref: '../schemas/discovered-applications/examples/FullDiscoveredApplications.yaml' '400': $ref: '../../v3/responses/400.yaml' '401': diff --git a/static/api-specs/idn/beta/schemas/FullDiscoveredApplications.yaml b/static/api-specs/idn/beta/schemas/FullDiscoveredApplications.yaml new file mode 100644 index 00000000000..32472fe7fa2 --- /dev/null +++ b/static/api-specs/idn/beta/schemas/FullDiscoveredApplications.yaml @@ -0,0 +1,66 @@ +type: array +description: List of discovered applications with their respective associated sources +title: Discovered Application +example: + - $ref: '../schemas/discovered-applications/examples/FullDiscoveredApplications.yaml' +items: + type: object + properties: + id: + type: string + format: uuid + description: Unique identifier for the discovered application. + example: 2d9180835d2e5168015d32f890ca1581 + name: + type: string + description: Name of the discovered application. + example: "ExampleApp" + discoverySource: + type: string + description: Source from which the application was discovered. + example: "csv" + discoveredVendor: + type: string + description: The vendor associated with the discovered application. + example: "ExampleVendor" + description: + type: string + description: A brief description of the discovered application. + example: "An application for managing examples." + recommendedConnectors: + type: array + items: + type: string + description: List of recommended connectors for the application. + example: ["ConnectorA", "ConnectorB"] + discoveredAt: + type: string + format: date-time + description: >- + The timestamp when the application was last received via an entitlement aggregation invocation + or a manual csv upload, in ISO 8601 format. + example: "2023-01-01T12:00:00Z" + createdAt: + type: string + format: date-time + description: The timestamp when the application was first discovered, in ISO 8601 format. + example: "2023-01-01T12:00:00Z" + status: + type: string + description: >- + The status of an application within the discovery source. + + + By default this field is set to "ACTIVE" when the application is discovered. + + + If an application has been deleted from within the discovery source, the status will be + set to "INACTIVE". + example: "ACTIVE" + associatedSources: + type: array + items: + type: string + format: uuid + description: List of associated sources related to this discovered application. + example: [ "e0cc5d7d-bf7f-4f81-b2af-8885b09d9923", "a0303682-5e4a-44f7-bdc2-6ce6112549c1" ] \ No newline at end of file diff --git a/static/api-specs/idn/beta/schemas/SlimDiscoveredApplications.yaml b/static/api-specs/idn/beta/schemas/SlimDiscoveredApplications.yaml new file mode 100644 index 00000000000..7b4fb1f8e84 --- /dev/null +++ b/static/api-specs/idn/beta/schemas/SlimDiscoveredApplications.yaml @@ -0,0 +1,59 @@ +type: array +description: List of discovered applications +title: Slim Discovered Application +example: + - $ref: '../schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml' +items: + type: object + properties: + id: + type: string + format: uuid + description: Unique identifier for the discovered application. + example: 2d9180835d2e5168015d32f890ca1581 + name: + type: string + description: Name of the discovered application. + example: "ExampleApp" + discoverySource: + type: string + description: Source from which the application was discovered. + example: "csv" + discoveredVendor: + type: string + description: The vendor associated with the discovered application. + example: "ExampleVendor" + description: + type: string + description: A brief description of the discovered application. + example: "An application for managing examples." + recommendedConnectors: + type: array + items: + type: string + description: List of recommended connectors for the application. + example: ["ConnectorA", "ConnectorB"] + discoveredAt: + type: string + format: date-time + description: >- + The timestamp when the application was last received via an entitlement aggregation invocation + or a manual csv upload, in ISO 8601 format. + example: "2023-01-01T12:00:00Z" + createdAt: + type: string + format: date-time + description: The timestamp when the application was first discovered, in ISO 8601 format. + example: "2023-01-01T12:00:00Z" + status: + type: string + description: >- + The status of an application within the discovery source. + + + By default this field is set to "ACTIVE" when the application is discovered. + + + If an application has been deleted from within the discovery source, the status will be + set to "INACTIVE". + example: "ACTIVE" \ No newline at end of file diff --git a/static/api-specs/idn/beta/schemas/discovered-applications/examples/FullDiscoveredApplications.yaml b/static/api-specs/idn/beta/schemas/discovered-applications/examples/FullDiscoveredApplications.yaml new file mode 100644 index 00000000000..6d67ee4f2d1 --- /dev/null +++ b/static/api-specs/idn/beta/schemas/discovered-applications/examples/FullDiscoveredApplications.yaml @@ -0,0 +1,32 @@ +description: List of discovered applications with their respective associated sources +value: + - id: "app-123" + name: "Example App" + discoverySource: "csv" + discoveredVendor: "Example Vendor" + description: "An application for managing examples." + recommendedConnectors: ["ConnectorA", "ConnectorB"] + discoveredAt: "2023-07-01T12:00:00Z" + createdAt: "2024-06-01T12:00:00Z" + status: "ACTIVE" + associatedSources: ["e0cc5d7d-bf7f-4f81-b2af-8885b09d9923"] + - id: "app-456" + name: "Sample Tracker" + discoverySource: "Okta SaaS" + discoveredVendor: "Sample Vendor" + description: "A tool for monitoring and managing samples." + recommendedConnectors: ["ConnectorC", "ConnectorD"] + discoveredAt: "2023-08-15T08:00:00Z" + createdAt: "2024-05-20T08:00:00Z" + status: "ACTIVE" + associatedSources: ["a3b159f2-5f09-43c9-b40e-a6f317aa5b8f", "e0cc5d7d-bf7f-4f81-b2af-8885b09d9923"] + - id: "app-789" + name: "Demo Manager" + discoverySource: "Okta SaaS" + discoveredVendor: "Demo Provider" + description: "Software to demonstrate basic functionalities." + recommendedConnectors: ["ConnectorE", "ConnectorF"] + discoveredAt: "2023-09-10T15:00:00Z" + createdAt: "2024-07-03T15:00:00Z" + status: "ACTIVE" + associatedSources: ["4e2d7605-833f-4c34-8d03-5b2c7d2f4f66", "f9b7e2ce-aced-4117-a95f-4ffad8b33989", "a3b159f2-5f09-43c9-b40e-a6f317aa5b8f"] \ No newline at end of file diff --git a/static/api-specs/idn/beta/schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml b/static/api-specs/idn/beta/schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml new file mode 100644 index 00000000000..1d6549d5f62 --- /dev/null +++ b/static/api-specs/idn/beta/schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml @@ -0,0 +1,29 @@ +description: List of discovered applications +value: + - id: "app-123" + name: "Example App" + discoverySource: "csv" + discoveredVendor: "Example Vendor" + description: "An application for managing examples." + recommendedConnectors: ["ConnectorA", "ConnectorB"] + discoveredAt: "2023-07-01T12:00:00Z" + createdAt: "2024-06-01T12:00:00Z" + status: "ACTIVE" + - id: "app-456" + name: "Sample Tracker" + discoverySource: "Okta SaaS" + discoveredVendor: "Sample Vendor" + description: "A tool for monitoring and managing samples." + recommendedConnectors: ["ConnectorC", "ConnectorD"] + discoveredAt: "2023-08-15T08:00:00Z" + createdAt: "2024-05-20T08:00:00Z" + status: "ACTIVE" + - id: "app-789" + name: "Demo Manager" + discoverySource: "Okta SaaS" + discoveredVendor: "Demo Provider" + description: "Software to demonstrate basic functionalities." + recommendedConnectors: ["ConnectorE", "ConnectorF"] + discoveredAt: "2023-09-10T15:00:00Z" + createdAt: "2024-07-03T15:00:00Z" + status: "ACTIVE" diff --git a/static/api-specs/idn/v3/paths/discovered-applications.yaml b/static/api-specs/idn/v3/paths/discovered-applications.yaml index 5a3332f7697..4a7934cdb4a 100644 --- a/static/api-specs/idn/v3/paths/discovered-applications.yaml +++ b/static/api-specs/idn/v3/paths/discovered-applications.yaml @@ -11,6 +11,15 @@ get: parameters: - $ref: '../../v3/parameters/limit.yaml' - $ref: '../../v3/parameters/offset.yaml' + - in: query + name: detail + schema: + type: string + enum: [ SLIM, FULL ] + description: >- + Determines whether slim, or increased level of detail is provided for each discovered application in the returned list. + SLIM is the default behavior. + example: FULL - in: query name: filter schema: @@ -26,7 +35,22 @@ get: **description**: *eq, sw, co* - example: name eq "Okta" and description co "Okta" + + + **createdAtStart**: *eq, le, ge* + + + **createdAtEnd**: *eq, le, ge* + + + **discoveredAtStart**: *eq, le, ge* + + + **discoveredAtEnd**: *eq, le, ge* + + + **discoverySource**: *eq, in* + example: name eq "Okta" and description co "Okta" and discoverySource in ("csv", "Okta Saas") required: false style: form - in: query @@ -42,13 +66,22 @@ get: example: name responses: '200': - description: Successfully retrieved list of discovered applications. + description: List of discovered applications. By default, the API returns a list of SLIM discovered applications. content: application/json: schema: type: array items: - $ref: '../../beta/schemas/DiscoveredApplications.yaml' + oneOf: + - $ref: '../schemas/SlimDiscoveredApplications.yaml' + - $ref: '../schemas/FullDiscoveredApplications.yaml' + + + examples: + Slim Discovered Application: + $ref: '../schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml' + Discovered Application: + $ref: '../schemas/discovered-applications/examples/FullDiscoveredApplications.yaml' '400': $ref: '../../v3/responses/400.yaml' '401': diff --git a/static/api-specs/idn/v3/schemas/FullDiscoveredApplications.yaml b/static/api-specs/idn/v3/schemas/FullDiscoveredApplications.yaml new file mode 100644 index 00000000000..32472fe7fa2 --- /dev/null +++ b/static/api-specs/idn/v3/schemas/FullDiscoveredApplications.yaml @@ -0,0 +1,66 @@ +type: array +description: List of discovered applications with their respective associated sources +title: Discovered Application +example: + - $ref: '../schemas/discovered-applications/examples/FullDiscoveredApplications.yaml' +items: + type: object + properties: + id: + type: string + format: uuid + description: Unique identifier for the discovered application. + example: 2d9180835d2e5168015d32f890ca1581 + name: + type: string + description: Name of the discovered application. + example: "ExampleApp" + discoverySource: + type: string + description: Source from which the application was discovered. + example: "csv" + discoveredVendor: + type: string + description: The vendor associated with the discovered application. + example: "ExampleVendor" + description: + type: string + description: A brief description of the discovered application. + example: "An application for managing examples." + recommendedConnectors: + type: array + items: + type: string + description: List of recommended connectors for the application. + example: ["ConnectorA", "ConnectorB"] + discoveredAt: + type: string + format: date-time + description: >- + The timestamp when the application was last received via an entitlement aggregation invocation + or a manual csv upload, in ISO 8601 format. + example: "2023-01-01T12:00:00Z" + createdAt: + type: string + format: date-time + description: The timestamp when the application was first discovered, in ISO 8601 format. + example: "2023-01-01T12:00:00Z" + status: + type: string + description: >- + The status of an application within the discovery source. + + + By default this field is set to "ACTIVE" when the application is discovered. + + + If an application has been deleted from within the discovery source, the status will be + set to "INACTIVE". + example: "ACTIVE" + associatedSources: + type: array + items: + type: string + format: uuid + description: List of associated sources related to this discovered application. + example: [ "e0cc5d7d-bf7f-4f81-b2af-8885b09d9923", "a0303682-5e4a-44f7-bdc2-6ce6112549c1" ] \ No newline at end of file diff --git a/static/api-specs/idn/v3/schemas/SlimDiscoveredApplications.yaml b/static/api-specs/idn/v3/schemas/SlimDiscoveredApplications.yaml new file mode 100644 index 00000000000..7b4fb1f8e84 --- /dev/null +++ b/static/api-specs/idn/v3/schemas/SlimDiscoveredApplications.yaml @@ -0,0 +1,59 @@ +type: array +description: List of discovered applications +title: Slim Discovered Application +example: + - $ref: '../schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml' +items: + type: object + properties: + id: + type: string + format: uuid + description: Unique identifier for the discovered application. + example: 2d9180835d2e5168015d32f890ca1581 + name: + type: string + description: Name of the discovered application. + example: "ExampleApp" + discoverySource: + type: string + description: Source from which the application was discovered. + example: "csv" + discoveredVendor: + type: string + description: The vendor associated with the discovered application. + example: "ExampleVendor" + description: + type: string + description: A brief description of the discovered application. + example: "An application for managing examples." + recommendedConnectors: + type: array + items: + type: string + description: List of recommended connectors for the application. + example: ["ConnectorA", "ConnectorB"] + discoveredAt: + type: string + format: date-time + description: >- + The timestamp when the application was last received via an entitlement aggregation invocation + or a manual csv upload, in ISO 8601 format. + example: "2023-01-01T12:00:00Z" + createdAt: + type: string + format: date-time + description: The timestamp when the application was first discovered, in ISO 8601 format. + example: "2023-01-01T12:00:00Z" + status: + type: string + description: >- + The status of an application within the discovery source. + + + By default this field is set to "ACTIVE" when the application is discovered. + + + If an application has been deleted from within the discovery source, the status will be + set to "INACTIVE". + example: "ACTIVE" \ No newline at end of file diff --git a/static/api-specs/idn/v3/schemas/discovered-applications/examples/FullDiscoveredApplications.yaml b/static/api-specs/idn/v3/schemas/discovered-applications/examples/FullDiscoveredApplications.yaml new file mode 100644 index 00000000000..66ad93e0b57 --- /dev/null +++ b/static/api-specs/idn/v3/schemas/discovered-applications/examples/FullDiscoveredApplications.yaml @@ -0,0 +1,42 @@ +description: List of discovered applications with their respective associated sources +value: + - id: "6f672248-2dac-4cf5-9531-fca0719cbb4a" + name: "Example App" + discoverySource: "csv" + discoveredVendor: "Example Vendor" + description: "An application for managing examples." + recommendedConnectors: ["ConnectorA", "ConnectorB"] + discoveredAt: "2023-07-01T12:00:00Z" + createdAt: "2024-06-01T12:00:00Z" + status: "ACTIVE" + associatedSources: ["e0cc5d7d-bf7f-4f81-b2af-8885b09d9923"] + - id: "b3a3a704-6a45-45ee-a501-bbc332388222" + name: "Sample Tracker" + discoverySource: "Okta SaaS" + discoveredVendor: "Sample Vendor" + description: "A tool for monitoring and managing samples." + recommendedConnectors: ["ConnectorC", "ConnectorD"] + discoveredAt: "2023-08-15T08:00:00Z" + createdAt: "2024-05-20T08:00:00Z" + status: "ACTIVE" + associatedSources: ["a3b159f2-5f09-43c9-b40e-a6f317aa5b8f", "e0cc5d7d-bf7f-4f81-b2af-8885b09d9923"] + - id: "1d070458-faed-4a6c-8990-918ad70a06ee" + name: "Demo Manager" + discoverySource: "Okta SaaS" + discoveredVendor: "Demo Provider" + description: "Software to demonstrate basic functionalities." + recommendedConnectors: ["ConnectorE", "ConnectorF"] + discoveredAt: "2023-09-10T15:00:00Z" + createdAt: "2024-07-03T15:00:00Z" + status: "ACTIVE" + associatedSources: ["4e2d7605-833f-4c34-8d03-5b2c7d2f4f66", "f9b7e2ce-aced-4117-a95f-4ffad8b33989", "a3b159f2-5f09-43c9-b40e-a6f317aa5b8f"] + - id: "9be7c5a5-9f37-46ba-965a-e5b9453472c6" + name: "Task Organizer" + discoverySource: "Manual Entry" + discoveredVendor: "Organizer Solutions" + description: "An application designed to help teams manage tasks and projects efficiently." + recommendedConnectors: [ "ConnectorG", "ConnectorH" ] + discoveredAt: "2023-10-05T14:00:00Z" + createdAt: "2024-08-01T14:00:00Z" + status: "ACTIVE" + associatedSources: [] \ No newline at end of file diff --git a/static/api-specs/idn/v3/schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml b/static/api-specs/idn/v3/schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml new file mode 100644 index 00000000000..6abd0c548e3 --- /dev/null +++ b/static/api-specs/idn/v3/schemas/discovered-applications/examples/SlimDiscoveredApplications.yaml @@ -0,0 +1,29 @@ +description: List of discovered applications +value: + - id: "09d88a67-bae8-422c-a09b-f7a72f5ab032" + name: "Example App" + discoverySource: "csv" + discoveredVendor: "Example Vendor" + description: "An application for managing examples." + recommendedConnectors: ["ConnectorA", "ConnectorB"] + discoveredAt: "2023-07-01T12:00:00Z" + createdAt: "2024-06-01T12:00:00Z" + status: "ACTIVE" + - id: "59310a1e-0d8f-42fa-95aa-b82b263de7f6" + name: "Sample Tracker" + discoverySource: "Okta SaaS" + discoveredVendor: "Sample Vendor" + description: "A tool for monitoring and managing samples." + recommendedConnectors: ["ConnectorC", "ConnectorD"] + discoveredAt: "2023-08-15T08:00:00Z" + createdAt: "2024-05-20T08:00:00Z" + status: "ACTIVE" + - id: "dfe675cb-f689-475f-99f1-49e348449867" + name: "Demo Manager" + discoverySource: "Okta SaaS" + discoveredVendor: "Demo Provider" + description: "Software to demonstrate basic functionalities." + recommendedConnectors: ["ConnectorE", "ConnectorF"] + discoveredAt: "2023-09-10T15:00:00Z" + createdAt: "2024-07-03T15:00:00Z" + status: "ACTIVE"