> For the complete documentation index, see [llms.txt](https://docs.hiboo.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hiboo.io/rest-api-reference/catalog.md).

# Catalog

The following endpoints allow you to retrieve and manage the integrations.

## Get all available data sources

> This endpoint will allow you to get a list of all available data sources, including the credential fields required for each.

```json
{"openapi":"3.0.3","info":{"title":"Hiboo API","version":"2.0.0"},"tags":[{"name":"Catalog","description":"The following endpoints allow you to retrieve and manage the integrations."}],"servers":[{"url":"https://api.hiboo.io","description":"Production server"},{"url":"https://api-sandbox.hiboo.io","description":"Sandbox server"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"x-access-token","description":"Generate a JWT when you log in. Use it in your following requests in the header as `x-access-token: your-token-here`\n"}},"responses":{"401Error":{"description":"Unable to authenticate the token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"403Error":{"description":"Insufficient permissions to access the resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"500Error":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}}},"schemas":{"NoDetailError":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"A human readable description of the error"}}}}},"paths":{"/catalog/dataSources":{"get":{"tags":["Catalog"],"summary":"Get all available data sources","description":"This endpoint will allow you to get a list of all available data sources, including the credential fields required for each.","operationId":"getDataSources","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"dataSources":{"type":"array","items":{"type":"object","properties":{"code":{"description":"Unique code of the data source","type":"string"},"label":{"description":"Display name of the data source","type":"string"},"credentials":{"description":"List of credential field names required to create an integration with this data source","type":"array","items":{"type":"string"}}}}}}}}}},"401":{"$ref":"#/components/responses/401Error"},"403":{"$ref":"#/components/responses/403Error"},"500":{"$ref":"#/components/responses/500Error"}}}}}}
```

## Get all available integrations

> This endpoint will allow you to get a list of all available integrations.

```json
{"openapi":"3.0.3","info":{"title":"Hiboo API","version":"2.0.0"},"tags":[{"name":"Catalog","description":"The following endpoints allow you to retrieve and manage the integrations."}],"servers":[{"url":"https://api.hiboo.io","description":"Production server"},{"url":"https://api-sandbox.hiboo.io","description":"Sandbox server"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"x-access-token","description":"Generate a JWT when you log in. Use it in your following requests in the header as `x-access-token: your-token-here`\n"}},"schemas":{"GetIntegrationResponse":{"type":"object","properties":{"id":{"description":"The unique identifier of the integration","type":"number"},"name":{"description":"Name of the integration","type":"string"},"dataSourceCode":{"description":"Code of the data source","type":"string"},"status":{"description":"Status of the integration","type":"string"}}},"NoDetailError":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"A human readable description of the error"}}}},"responses":{"204Success":{"description":"No Content"},"401Error":{"description":"Unable to authenticate the token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"403Error":{"description":"Insufficient permissions to access the resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"500Error":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}}}},"paths":{"/catalog/integrations":{"get":{"tags":["Catalog"],"summary":"Get all available integrations","description":"This endpoint will allow you to get a list of all available integrations.","operationId":"getIntegrations","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"integrations":{"type":"array","items":{"$ref":"#/components/schemas/GetIntegrationResponse"}}}}}}},"204":{"$ref":"#/components/responses/204Success"},"401":{"$ref":"#/components/responses/401Error"},"403":{"$ref":"#/components/responses/403Error"},"500":{"$ref":"#/components/responses/500Error"}}}}}}
```

## Create an integration

> This endpoint will allow you to create a new integration.

```json
{"openapi":"3.0.3","info":{"title":"Hiboo API","version":"2.0.0"},"tags":[{"name":"Catalog","description":"The following endpoints allow you to retrieve and manage the integrations."}],"servers":[{"url":"https://api.hiboo.io","description":"Production server"},{"url":"https://api-sandbox.hiboo.io","description":"Sandbox server"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"x-access-token","description":"Generate a JWT when you log in. Use it in your following requests in the header as `x-access-token: your-token-here`\n"}},"schemas":{"CreateIntegrationBody":{"required":["integrationCredentials","integrationName","dataSourceCode"],"type":"object","properties":{"integrationCredentials":{"type":"object","description":"The credentials to connect to the data source, the content of this object will depend on the data source you want to connect to."},"integrationName":{"description":"Name of the integration","type":"string"},"dataSourceCode":{"description":"Code of the data source","type":"string"}}},"IntegrationIdResponse":{"type":"object","properties":{"integrationId":{"description":"The unique identifier of the created integration","type":"number"}}},"NoDetailError":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"A human readable description of the error"}}}},"responses":{"401Error":{"description":"Unable to authenticate the token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"403Error":{"description":"Insufficient permissions to access the resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"409Error":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"422Error":{"description":"Invalid input or missing parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"500Error":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}}}},"paths":{"/catalog/integrations":{"post":{"tags":["Catalog"],"summary":"Create an integration","description":"This endpoint will allow you to create a new integration.","operationId":"addIntegration","requestBody":{"description":"More information about the required payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIntegrationBody"}}},"required":true},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationIdResponse"}}}},"401":{"$ref":"#/components/responses/401Error"},"403":{"$ref":"#/components/responses/403Error"},"409":{"$ref":"#/components/responses/409Error"},"422":{"$ref":"#/components/responses/422Error"},"500":{"$ref":"#/components/responses/500Error"}}}}}}
```

## Delete an integration

> This endpoint will delete an existing integration. ⚠️ \*\*Warning\*\* This operation is irreversible.

```json
{"openapi":"3.0.3","info":{"title":"Hiboo API","version":"2.0.0"},"tags":[{"name":"Catalog","description":"The following endpoints allow you to retrieve and manage the integrations."}],"servers":[{"url":"https://api.hiboo.io","description":"Production server"},{"url":"https://api-sandbox.hiboo.io","description":"Sandbox server"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"x-access-token","description":"Generate a JWT when you log in. Use it in your following requests in the header as `x-access-token: your-token-here`\n"}},"schemas":{"IntegrationIdResponse":{"type":"object","properties":{"integrationId":{"description":"The unique identifier of the created integration","type":"number"}}},"NoDetailError":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"A human readable description of the error"}}}},"responses":{"401Error":{"description":"Unable to authenticate the token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"403Error":{"description":"Insufficient permissions to access the resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"404Error":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"409Error":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"500Error":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}}}},"paths":{"/catalog/integrations/{integrationId}":{"delete":{"tags":["Catalog"],"summary":"Delete an integration","description":"This endpoint will delete an existing integration. ⚠️ **Warning** This operation is irreversible.","operationId":"deleteIntegration","parameters":[{"name":"integrationId","in":"path","description":"The unique identifier of the integration to delete","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationIdResponse"}}}},"401":{"$ref":"#/components/responses/401Error"},"403":{"$ref":"#/components/responses/403Error"},"404":{"$ref":"#/components/responses/404Error"},"409":{"$ref":"#/components/responses/409Error"},"500":{"$ref":"#/components/responses/500Error"}}}}}}
```

## Update an integration

> This endpoint will allow you to update an existing integration.

```json
{"openapi":"3.0.3","info":{"title":"Hiboo API","version":"2.0.0"},"tags":[{"name":"Catalog","description":"The following endpoints allow you to retrieve and manage the integrations."}],"servers":[{"url":"https://api.hiboo.io","description":"Production server"},{"url":"https://api-sandbox.hiboo.io","description":"Sandbox server"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"x-access-token","description":"Generate a JWT when you log in. Use it in your following requests in the header as `x-access-token: your-token-here`\n"}},"schemas":{"PatchIntegrationBody":{"required":["integrationName"],"type":"object","properties":{"integrationCredentials":{"type":"object","description":"The new credentials to connect to the data source, the content of this object will depend on the data source you want to connect to."},"integrationName":{"description":"The new name of the integration","type":"string"}}},"PatchIntegrationResponse":{"type":"object","properties":{"integrationId":{"description":"The unique identifier of the updated integration","type":"number"},"integrationName":{"description":"Name of the updated integration","type":"string"}}},"NoDetailError":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"A human readable description of the error"}}}},"responses":{"401Error":{"description":"Unable to authenticate the token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"403Error":{"description":"Insufficient permissions to access the resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"409Error":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"422Error":{"description":"Invalid input or missing parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"500Error":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}}}},"paths":{"/catalog/integrations/{integrationId}":{"patch":{"tags":["Catalog"],"summary":"Update an integration","description":"This endpoint will allow you to update an existing integration.","operationId":"updateIntegration","parameters":[{"name":"integrationId","in":"path","description":"The unique identifier of the integration","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"More information about the required payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchIntegrationBody"}}},"required":true},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchIntegrationResponse"}}}},"401":{"$ref":"#/components/responses/401Error"},"403":{"$ref":"#/components/responses/403Error"},"409":{"$ref":"#/components/responses/409Error"},"422":{"$ref":"#/components/responses/422Error"},"500":{"$ref":"#/components/responses/500Error"}}}}}}
```

## Activate an integration

> This endpoint will activate an existing integration.

```json
{"openapi":"3.0.3","info":{"title":"Hiboo API","version":"2.0.0"},"tags":[{"name":"Catalog","description":"The following endpoints allow you to retrieve and manage the integrations."}],"servers":[{"url":"https://api.hiboo.io","description":"Production server"},{"url":"https://api-sandbox.hiboo.io","description":"Sandbox server"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"x-access-token","description":"Generate a JWT when you log in. Use it in your following requests in the header as `x-access-token: your-token-here`\n"}},"schemas":{"IntegrationIdResponse":{"type":"object","properties":{"integrationId":{"description":"The unique identifier of the created integration","type":"number"}}},"NoDetailError":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"A human readable description of the error"}}}},"responses":{"401Error":{"description":"Unable to authenticate the token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"403Error":{"description":"Insufficient permissions to access the resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"404Error":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"500Error":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}}}},"paths":{"/catalog/integrations/{integrationId}/activate":{"post":{"tags":["Catalog"],"summary":"Activate an integration","description":"This endpoint will activate an existing integration.","operationId":"activateIntegration","parameters":[{"name":"integrationId","in":"path","description":"The unique identifier of the integration to activate","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationIdResponse"}}}},"401":{"$ref":"#/components/responses/401Error"},"403":{"$ref":"#/components/responses/403Error"},"404":{"$ref":"#/components/responses/404Error"},"500":{"$ref":"#/components/responses/500Error"}}}}}}
```

## Deactivate an integration

> This endpoint will deactivate an existing integration.

```json
{"openapi":"3.0.3","info":{"title":"Hiboo API","version":"2.0.0"},"tags":[{"name":"Catalog","description":"The following endpoints allow you to retrieve and manage the integrations."}],"servers":[{"url":"https://api.hiboo.io","description":"Production server"},{"url":"https://api-sandbox.hiboo.io","description":"Sandbox server"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"x-access-token","description":"Generate a JWT when you log in. Use it in your following requests in the header as `x-access-token: your-token-here`\n"}},"schemas":{"IntegrationIdResponse":{"type":"object","properties":{"integrationId":{"description":"The unique identifier of the created integration","type":"number"}}},"NoDetailError":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"A human readable description of the error"}}}},"responses":{"401Error":{"description":"Unable to authenticate the token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"403Error":{"description":"Insufficient permissions to access the resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"404Error":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}},"500Error":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDetailError"}}}}}},"paths":{"/catalog/integrations/{integrationId}/deactivate":{"post":{"tags":["Catalog"],"summary":"Deactivate an integration","description":"This endpoint will deactivate an existing integration.","operationId":"deactivateIntegration","parameters":[{"name":"integrationId","in":"path","description":"The unique identifier of the integration to deactivate","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationIdResponse"}}}},"401":{"$ref":"#/components/responses/401Error"},"403":{"$ref":"#/components/responses/403Error"},"404":{"$ref":"#/components/responses/404Error"},"500":{"$ref":"#/components/responses/500Error"}}}}}}
```
