# Integration

## Get All Integrations

> Retrieves a list of all integrations, optionally filtered by active status

```json
{"openapi":"3.0.0","info":{"title":"toolregistry.ai API","version":"1.0"},"servers":[{"url":"https://api.toolregistry.ai"}],"security":[{}],"paths":{"/v1/integrations":{"get":{"description":"Retrieves a list of all integrations, optionally filtered by active status","operationId":"IntegrationController_getAllIntegrations","parameters":[{"name":"active","required":false,"in":"query","schema":{"default":true,"type":"boolean"}}],"responses":{"200":{"description":"Integrations retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationResponseDto"}}}}},"401":{"description":"Unauthorized - invalid API key"},"500":{"description":"Internal server error"}},"summary":"Get All Integrations","tags":["Integration"]}}},"components":{"schemas":{"IntegrationResponseDto":{"type":"object","properties":{"integrationId":{"type":"string"},"customerIntegrationId":{"type":"string"},"active":{"type":"boolean"},"name":{"type":"string"},"description":{"type":"string"},"logoUrl":{"type":"string"},"host":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"authType":{"type":"string","enum":["NONE","API_TOKEN","OAUTH2","AWS_ASSUME_ROLE","GOOGLE_SERVICE_ACCOUNT_OAUTH"],"description":"Currently active authentication type for the integration."}},"required":["integrationId","customerIntegrationId","active","name","host","updatedAt","createdAt"]}}}}
```

## Get Integration User

> Retrieves a user for a specific customer integration

```json
{"openapi":"3.0.0","info":{"title":"toolregistry.ai API","version":"1.0"},"servers":[{"url":"https://api.toolregistry.ai"}],"security":[{}],"paths":{"/v1/integrations/{customerIntegrationId}/users/{userId}":{"get":{"description":"Retrieves a user for a specific customer integration","operationId":"IntegrationController_getIntegrationUser","parameters":[{"name":"customerIntegrationId","required":true,"in":"path","description":"Customer integration ID","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","description":"User ID associated with the integration","schema":{"type":"string"}}],"responses":{"200":{"description":"Integration user retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationUserResponseDto"}}}},"401":{"description":"Unauthorized - invalid API key"},"500":{"description":"Internal server error"}},"summary":"Get Integration User","tags":["Integration"]}}},"components":{"schemas":{"IntegrationUserResponseDto":{"type":"object","properties":{"userId":{"type":"string"},"active":{"type":"boolean"},"updatedAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"}},"required":["userId","active","updatedAt","createdAt"]}}}}
```

## Generate Integration User Auth URL

> Generates an auth URL for a specific integration user. User will be created if it does not exist for the integration.

```json
{"openapi":"3.0.0","info":{"title":"toolregistry.ai API","version":"1.0"},"servers":[{"url":"https://api.toolregistry.ai"}],"security":[{}],"paths":{"/v1/integrations/{customerIntegrationId}/users/{userId}/auth-url":{"post":{"description":"Generates an auth URL for a specific integration user. User will be created if it does not exist for the integration.","operationId":"IntegrationController_generateIntegrationUserAuthUrl","parameters":[{"name":"customerIntegrationId","required":true,"in":"path","description":"Customer integration ID","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","description":"User ID associated with the integration","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationUserAuthUrlRequestDto"}}}},"responses":{"201":{"description":"Auth URL generated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationUserAuthUrlResponseDto"}}}},"401":{"description":"Unauthorized - invalid API key"},"500":{"description":"Internal server error"}},"summary":"Generate Integration User Auth URL","tags":["Integration"]}}},"components":{"schemas":{"IntegrationUserAuthUrlRequestDto":{"type":"object","properties":{"redirectUri":{"type":"string","description":"The optional redirect URI to redirect the user to after authentication. Askel will append query param ?status=success/error. If not provided, a default success/failure page will be shown."}}},"IntegrationUserAuthUrlResponseDto":{"type":"object","properties":{"authorizeUrl":{"type":"string"}},"required":["authorizeUrl"]}}}}
```
