openapi: 3.2.0 info: title: 7SIGNAL Integration Configs API description: This is the 7SIGNAL public API for interacting with the 7SIGNAL Platform version: 2.21.1 contact: email: info@7signal.com license: name: All Rights Reserved url: https://www.7signal.com/contact servers: - url: https://api-v2.7signal.com description: 7SIGNAL API Gateway (production) tags: - name: Integration Configs paths: /integrations/meraki/configs: get: operationId: meraki-integration-config-get tags: - Integration Configs summary: List all accessible meraki integration configurations parameters: - name: ids in: query required: false schema: type: array items: type: string format: uuid default: [] - name: createdBys in: query required: false schema: type: array items: type: string default: [] - name: organizationIds in: query required: false schema: type: array items: type: string format: uuid default: [] - $ref: '#/components/parameters/metadata.PageRequestParam' - $ref: '#/components/parameters/common.PerPageRequestParam' - $ref: '#/components/parameters/common.SortOrderParam' - $ref: '#/components/parameters/common.SortFieldParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.PageModelMerakiIntegrationConfig' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] post: operationId: meraki-integration-config-post tags: - Integration Configs summary: Create a meraki integration configuration requestBody: content: application/json: schema: $ref: '#/components/schemas/metadata.MerakiIntegrationConfigRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/metadata.MerakiIntegrationConfigResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' security: - oauth2: [] /integrations/meraki/configs/{id}: get: operationId: meraki-integration-config-with-id-get tags: - Integration Configs summary: List the specific meraki integration configuration identified by its UUID parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.MerakiIntegrationConfigResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] put: operationId: meraki-integration-config-with-id-put tags: - Integration Configs summary: Replace the configurable parameters of a meraki integration configuration… parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/metadata.MerakiIntegrationConfigPutRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.MerakiIntegrationConfigResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] delete: operationId: meraki-integration-config-with-id-delete tags: - Integration Configs summary: Delete the meraki integration configuration specified by the UUID parameters: - name: id in: path required: true schema: type: string format: uuid responses: '204': description: No Content '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] /integrations/servicenow/configs: get: operationId: servicenow-integration-config-get tags: - Integration Configs summary: List all accessible ServiceNow integration configurations parameters: - name: ids in: query required: false schema: type: array items: type: string format: uuid default: [] - name: createdBys in: query required: false schema: type: array items: type: string default: [] - name: organizationIds in: query required: false schema: type: array items: type: string format: uuid default: [] - name: mobileEyeOrgCode in: query required: false schema: type: array items: type: string default: [] - name: sapphireGroups in: query required: false schema: type: array items: type: string default: [] - name: sapphireInstances in: query required: false schema: type: array items: type: string default: [] - $ref: '#/components/parameters/metadata.PageRequestParam' - $ref: '#/components/parameters/common.PerPageRequestParam' - $ref: '#/components/parameters/common.SortOrderParam' - $ref: '#/components/parameters/common.SortFieldParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.PageModelServiceNowIntegrationConfig' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] post: operationId: servicenow-integration-config-post tags: - Integration Configs summary: Create a ServiceNow integration configuration requestBody: content: application/json: schema: $ref: '#/components/schemas/metadata.ServiceNowIntegrationConfigCreateRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/metadata.ServiceNowIntegrationConfigWithOrgId' '400': $ref: '#/components/responses/common.400BadRequestResponse' security: - oauth2: [] /integrations/servicenow/configs/{id}: get: operationId: servicenow-integration-config-with-id-get tags: - Integration Configs summary: List the specific ServiceNow integration configuration identified by its UUID parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.ServiceNowIntegrationConfig' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] put: operationId: servicenow-integration-config-with-id-put tags: - Integration Configs summary: Replace the configurable parameters of a ServiceNow integration configuration… parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/metadata.ServiceNowIntegrationConfigUpdateRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.ServiceNowIntegrationConfigWithOrgId' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] patch: operationId: servicenow-integration-config-with-id-patch tags: - Integration Configs summary: Patch the configurable parameters of a ServiceNow integration configuration… parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/metadata.ServiceNowIntegrationConfigPatchRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.ServiceNowIntegrationConfigWithOrgId' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] delete: operationId: servicenow-integration-config-with-id-delete tags: - Integration Configs summary: Delete the ServiceNow integration configuration specified by the UUID parameters: - name: id in: path required: true schema: type: string format: uuid responses: '204': description: No Content '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] components: schemas: metadata.ServiceNowIntegrationConfigCreateRequest: type: object required: - serviceNowUrl - authTypeEnabled - organizationId properties: serviceNowUrl: type: string minLength: 1 authTypeEnabled: type: string enum: - NONE - BASIC_AUTH - OAUTH2 - API_KEY basicAuthUsername: type: string basicAuthPassword: type: string oauth2ClientId: type: string oauth2ClientSecret: type: string apiKeyHeader: type: string description: Defaults to 'x-sn-apikey' if blank or null apiKeyKey: type: string organizationId: type: string format: uuid metadata.MerakiIntegrationConfigResponse: type: object properties: id: type: string format: uuid merakiApiKey: type: string clientId: type: string clientSecret: type: string runOption: type: string scheduledOption: type: string agentsEnabled: type: boolean agentsFullSynchronization: type: boolean sensorsEnabled: type: boolean scheduledDayOfWeek: type: integer scheduledWeekOfMonth: type: integer createdBy: type: string createdAt: type: string format: date-time organization: $ref: '#/components/schemas/metadata.AggregateReferenceOrganizationUUID' apiKey: $ref: '#/components/schemas/metadata.AggregateReferenceApiKeyUUID' group: $ref: '#/components/schemas/metadata.AggregateReferenceGroupUUID' metadata.MerakiIntegrationConfigPutRequest: required: - runOption - scheduledOption type: object properties: runOption: type: string enum: - ONE_TIME - SCHEDULED scheduledOption: type: string enum: - DISABLED - DAILY - WEEKLY - MONTHLY agentsEnabled: type: boolean agentsFullSynchronization: type: boolean sensorsEnabled: type: boolean scheduledDayOfWeek: type: integer scheduledWeekOfMonth: type: integer metadata.MerakiIntegrationConfigRequest: required: - apiKey - runOption - scheduledOption type: object properties: apiKey: type: string runOption: type: string enum: - ONE_TIME - SCHEDULED scheduledOption: type: string enum: - DISABLED - DAILY - WEEKLY - MONTHLY agentsEnabled: type: boolean agentsFullSynchronization: type: boolean sensorsEnabled: type: boolean scheduledDayOfWeek: type: integer scheduledWeekOfMonth: type: integer organizationId: type: string format: uuid sapphireGroupId: type: string format: uuid metadata.AggregateReferenceApiKeyUUID: type: object properties: id: type: string format: uuid metadata.AggregateReferenceOrganizationUUID: type: object properties: id: type: string format: uuid metadata.Pagination: type: object properties: perPage: type: integer format: int32 page: type: integer format: int32 minimum: 0 description: The current page number. The first page is supposed to be 1, but some endpoints mistakenly treat the first page as 0. This is a known issue and will be fixed in the next major API release. total: type: integer format: int64 pages: type: integer format: int32 metadata.PageModelMerakiIntegrationConfig: type: object properties: results: type: array items: $ref: '#/components/schemas/metadata.MerakiIntegrationConfig' pagination: $ref: '#/components/schemas/metadata.Pagination' metadata.ServiceNowIntegrationConfigPatchRequest: type: object properties: serviceNowUrl: type: - string - 'null' minLength: 1 authTypeEnabled: type: - string - 'null' enum: - NONE - BASIC_AUTH - OAUTH2 - API_KEY basicAuthUsername: type: - string - 'null' basicAuthPassword: type: - string - 'null' oauth2ClientId: type: - string - 'null' oauth2ClientSecret: type: - string - 'null' apiKeyHeader: type: - string - 'null' apiKeyKey: type: - string - 'null' metadata.ServiceNowIntegrationConfigWithOrgId: type: object properties: id: type: string format: uuid serviceNowUrl: type: string authTypeEnabled: type: string enum: - BASIC_AUTH - OAUTH2 - API_KEY - NONE basicAuthUsername: type: string oauth2ClientId: type: string apiKeyHeader: type: string createdBy: type: string createdAt: type: string format: date-time organization: $ref: '#/components/schemas/metadata.AggregateReferenceOrganizationUUID' metadata.AggregateReferenceGroupUUID: type: object properties: id: type: string format: uuid metadata.ServiceNowIntegrationConfig: type: object properties: id: type: string format: uuid serviceNowUrl: type: string authTypeEnabled: type: string enum: - BASIC_AUTH - OAUTH2 - API_KEY - NONE basicAuthUsername: type: string oauth2ClientId: type: string apiKeyHeader: type: string createdBy: type: string createdAt: type: string format: date-time organization: $ref: '#/components/schemas/metadata.AggregateReferenceOrganization' metadata.AggregateReferenceOrganization: type: object properties: id: type: string format: uuid name: type: string common.ResponseStatusException: type: object required: - timestamp - status - error - path - requestId properties: timestamp: type: string format: date-time status: type: integer error: type: string message: type: string path: type: string requestId: type: string metadata.MerakiIntegrationConfig: type: object properties: id: type: string format: uuid runOption: type: string scheduledOption: type: string agentsEnabled: type: boolean agentsFullSynchronization: type: boolean sensorsEnabled: type: boolean createdBy: type: string createdAt: type: string format: date-time organization: $ref: '#/components/schemas/metadata.AggregateReferenceOrganizationUUID' apiKeyId: $ref: '#/components/schemas/metadata.AggregateReferenceApiKeyUUID' group: $ref: '#/components/schemas/metadata.AggregateReferenceGroupUUID' metadata.ServiceNowIntegrationConfigUpdateRequest: type: object required: - serviceNowUrl - authTypeEnabled properties: serviceNowUrl: type: string minLength: 1 authTypeEnabled: type: string enum: - NONE - BASIC_AUTH - OAUTH2 - API_KEY basicAuthUsername: type: string basicAuthPassword: type: string oauth2ClientId: type: string oauth2ClientSecret: type: string apiKeyHeader: type: string apiKeyKey: type: string metadata.PageModelServiceNowIntegrationConfig: type: object properties: results: type: array items: $ref: '#/components/schemas/metadata.ServiceNowIntegrationConfig' pagination: $ref: '#/components/schemas/metadata.Pagination' parameters: common.PerPageRequestParam: name: perPage in: query description: Fetch a specific number of records per page required: false schema: type: integer common.SortFieldParam: name: sortField in: query description: The field on which to sort the results required: false schema: type: string common.SortOrderParam: name: order in: query description: Sort order required: false schema: type: string enum: - asc - desc metadata.PageRequestParam: name: page in: query description: Fetch a particular page of data. The first page is supposed to be 1, but some endpoints mistakenly treat the first page as 0. This is a known issue and will be fixed in the next major API release. required: false schema: type: integer minimum: 0 responses: common.400BadRequestResponse: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/common.ResponseStatusException' common.404NotFoundResponse: description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/common.ResponseStatusException' securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: /oauth2/token scopes: {}