openapi: 3.0.3 info: title: Flightdeck - dope.security - Public API specification Authorization Endpoints API version: 1.0.3 description: The Flightdeck API by dope.security. Manage policies, custom categories, URL/application bypass, SSL inspection, and endpoint status for the dope.swg Secure Web Gateway. Authentication uses the OAuth 2.0 Client Credentials flow; the returned bearer token is required on all non-token calls. contact: name: dope.security Support email: support@dope.security url: https://inflight.dope.security/dope.apis/public-api-specification servers: - url: https://api.flightdeck.dope.security/v1 security: - BearerAuth: [] tags: - name: Endpoints description: Everything about your endpoints paths: /endpoints/search: get: summary: List and Search Endpoints description: 'Use this API to get a list of all endpoints, or search for those matching a query parameter. Note: - To return a list of all endpoints do not include any additional parameter. - Only one of the optional parameters is allowed to be specified per request. - Results are returned in pages using cursor based pagination and ordered by the `lastSeen` property. ' tags: - Endpoints parameters: - in: query name: id description: Broad search query across endpoints by device, user and email identities that contain this string (case-insensitive) required: false schema: type: string - in: query name: emailId description: Search by email ids that contain this string (case-insensitive) required: false schema: type: string - in: query name: deviceName description: Search by device names that contain this string (case-insensitive) required: false schema: type: string - in: query name: userId description: Search by user ids that contain this string (case-insensitive). `userId` for OIDC users is usually their email address. required: false schema: type: string - in: query name: osVersion description: Filter by this exact device OS version string required: false schema: type: string - in: query name: status description: Filter by this exact set of status' required: false schema: type: array items: type: string enum: - healthy - error - dormant - disabled explode: false - in: query name: debugState description: 'Filter by this exact set of debug states. 0 means not in debug 1 means debug request sent to endpoint 2 means debug request acknowledged by endpoint ' required: false schema: type: array items: type: string enum: - '0' - '1' - '2' explode: false - in: query name: fallbackMode description: Filter by the fallback mode required: false schema: type: string enum: - 'true' - 'false' - in: query name: locationId description: Filter by this exact location id - with an underscore separating the case sensitive city and country values e.g. "City_Country" required: false schema: type: string - in: query name: agentVersion description: Filter by this exact agent version required: false schema: type: string - $ref: '#/components/parameters/PaginationFirst' - $ref: '#/components/parameters/PaginationAfter' - in: query name: order description: The direction of the sort by the `lastSeen` property. The default is to sort by descending required: false schema: type: string enum: - desc - asc responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: pageInfo: $ref: '#/components/schemas/PaginationResponse' endpoints: type: array items: $ref: '#/components/schemas/Endpoint' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Errors' '403': description: Access denied content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/Errors' operationId: searchEndpoints components: schemas: AdminSetState: type: object properties: enabled: type: boolean description: Indicates if endpoint is set to enabled or not by the admin timestamp: type: string format: date-time description: The timestamp when the admin last set the state of the endpoint Endpoint: type: object properties: adminSetState: $ref: '#/components/schemas/AdminSetState' agentUUID: type: string format: uuid description: the unique id of the endpoint userUUID: type: string format: uuid description: the unique id of the active user on the endpoint agentVersion: type: string description: the current version of the endpoint binaryType: type: string description: type of ISA for computer processors cityName: type: string description: the name of the city where the endpoint is located region: type: string description: the name of the region where the endpoint is located countryName: type: string description: the name of the country where the endpoint is located cpuFamily: type: string description: the type of CPU on the device hosting the endpoint debugState: type: string description: indicates the debug state of the endpoint. 0 means not in debug, 1 means set to debug, 2 means acknowledged receipt of debug request deviceName: type: string description: the name of the device hosting the endpoint disableMode: type: boolean description: indicates if the endpoint is disabled or not errorMessage: type: string description: additional details regarding an error fallbackMode: type: boolean description: indicates if the endpoint is in fallback mode configurationLastUpdated: type: string format: date-time description: the date and time when the endpoint last updated the configuration osVersion: type: string description: Operating System version of the device policyName: type: string description: name of the policy that is being used by the endpoint realtimeConnection: type: boolean description: indicates if the endpoint has an active web-socket connection status: type: string description: the current operational status of the endpoint lastSeen: type: string format: date-time description: the date and time when the endpoint was last seen userId: type: string description: the user id of the user that is using the endpoint. `userId` for OIDC users is usually their email address. emailId: type: string description: the email of the user that is using the endpoint Errors: type: object description: Error response containing a list of errors related to 400 and 500 http status properties: errors: type: array minItems: 1 items: type: object properties: message: type: string description: Error message details: description: Optional additional details regarding the error required: - message PaginationResponse: type: object description: Information about current and next page for cursor based pagination properties: endCursor: type: string description: Opaque string representing a cursor to the last record returned in the response. Used for requesting the next page. hasNextPage: type: boolean description: indicates if there is another page of data to fetch or not required: - endCursor - hasNextPage parameters: PaginationAfter: in: query name: after description: An optional pagination cursor. Pass the `endCursor` from the previous response's `pageInfo` to fetch the next page. Check `hasNextPage` in the previous response's `pageInfo` to determine whether more records are available. required: false schema: type: string PaginationFirst: in: query name: first description: An optional pagination param that states the number of records requested from the **start** of the `cursor`. The default value is **50**. required: false schema: type: integer default: 50 securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT