> For the complete documentation index, see [llms.txt](https://docs.infraon.io/infraon-infinity-api-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infraon.io/infraon-infinity-api-guide/modules/service-catalogue.md).

# Service Catalogue

## Gets a catalogue tree.

> This endpoint is used to fetch the technical catalogue tree (works based on token used to authorize)

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_list","description":"This endpoint is used to fetch the technical catalogue tree (works based on token used to authorize)","summary":"Gets a catalogue tree.","tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Catalogue"}}}},"description":""}}}}}}
```

## POST /ux/common/catalogue/servicecatalogue/

> API endpoint that allows users to be viewed or edited.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_create","description":"API endpoint that allows users to be viewed or edited.","tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Catalogue"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Gets a service details with the given id

> This endpoint is used to fetch a service details for the selected catalogue.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/{id}/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_retrieve","description":"This endpoint is used to fetch a service details for the selected catalogue.","summary":"Gets a service details with the given id","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Edits the service with given id

> This endpoint is used to edit an existing service for the selected catalogue.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/{id}/":{"put":{"operationId":"ux_common_catalogue_servicecatalogue_update","description":"This endpoint is used to edit an existing service for the selected catalogue.","summary":"Edits the service with given id","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Catalogue"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Deletes the catalogue or service with given id

> This endpoint is used to delete an existing catalogue or service.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}}},"paths":{"/ux/common/catalogue/servicecatalogue/{id}/":{"delete":{"operationId":"ux_common_catalogue_servicecatalogue_destroy","description":"This endpoint is used to delete an existing catalogue or service.","summary":"Deletes the catalogue or service with given id","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"tags":["Service Catalogue"],"responses":{"204":{"description":"No response body"}}}}}}
```

## PATCH /ux/common/catalogue/servicecatalogue/{id}/

> API endpoint that allows users to be viewed or edited.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"PatchedCatalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}}},"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/{id}/":{"patch":{"operationId":"ux_common_catalogue_servicecatalogue_partial_update","description":"API endpoint that allows users to be viewed or edited.","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchedCatalogue"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PatchedCatalogue"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/PatchedCatalogue"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Add attachments for the selected service.

> This endpoint is used to add new attachments.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/add-attachment/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_add_attachment_create","description":"This endpoint is used to add new attachments.","summary":"Add attachments for the selected service.","tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Catalogue"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Creates a new catalogue.

> This endpoint is used to save a new catalogue.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}}},"paths":{"/ux/common/catalogue/servicecatalogue/add-catalogue/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_add_catalogue_create","description":"This endpoint is used to save a new catalogue.","summary":"Creates a new catalogue.","tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"201":{"description":"No response body"}}}}}}
```

## Creates a new service&#x20;

> This endpoint is used to save a new service for the selected catalogue.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}}},"paths":{"/ux/common/catalogue/servicecatalogue/add-service/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_add_service_create","description":"This endpoint is used to save a new service for the selected catalogue.","summary":"Creates a new service ","tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"201":{"description":"No response body"}}}}}}
```

## Gets attachments for the selected service.

> This endpoint is used to fetch the attachments.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/attachment/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_attachment_retrieve","description":"This endpoint is used to fetch the attachments.","summary":"Gets attachments for the selected service.","tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## GET /ux/common/catalogue/servicecatalogue/classification/

> API endpoint that allows users to be viewed or edited.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/classification/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_classification_retrieve","description":"API endpoint that allows users to be viewed or edited.","tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## POST /ux/common/catalogue/servicecatalogue/classification/{module\_id}/{module\_ref\_id}/

> API endpoint that allows users to be viewed or edited.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/classification/{module_id}/{module_ref_id}/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_classification_create","description":"API endpoint that allows users to be viewed or edited.","parameters":[{"in":"path","name":"module_id","schema":{"type":"string"},"required":true},{"in":"path","name":"module_ref_id","schema":{"type":"string"},"required":true}],"tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Catalogue"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Delete a catalogue.

> This endpoint is used to delete a catalogue.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}}},"paths":{"/ux/common/catalogue/servicecatalogue/delete-catalogue/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_delete_catalogue_create","description":"This endpoint is used to delete a catalogue.","summary":"Delete a catalogue.","parameters":[{"in":"query","name":"catalogueId","schema":{"type":"string"},"description":"Catalogue ID"}],"tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"201":{"description":"No response body"}}}}}}
```

## Delete a service.

> This endpoint is used to delete a service.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}}},"paths":{"/ux/common/catalogue/servicecatalogue/delete-service/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_delete_service_create","description":"This endpoint is used to delete a service.","summary":"Delete a service.","tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"201":{"description":"No response body"}}}}}}
```

## Gets history for the selected service.

> This endpoint is used to fetch the history.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/history/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_history_retrieve","description":"This endpoint is used to fetch the history.","summary":"Gets history for the selected service.","tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## GET /ux/common/catalogue/servicecatalogue/is-catalogue-exist/

> API endpoint that allows users to be viewed or edited.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/is-catalogue-exist/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_is_catalogue_exist_retrieve","description":"API endpoint that allows users to be viewed or edited.","tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Gets options regarding service catalogue.

> This endpoint is used to fetch the options configurations.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/options-config/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_options_config_retrieve","description":"This endpoint is used to fetch the options configurations.","summary":"Gets options regarding service catalogue.","tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Get list of services for the selected catalogue.

> This endpoint is used to get list of services for the selected catalogue.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}}},"paths":{"/ux/common/catalogue/servicecatalogue/service-list/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_service_list_retrieve","description":"This endpoint is used to get list of services for the selected catalogue.","summary":"Get list of services for the selected catalogue.","tags":["Service Catalogue"],"responses":{"201":{"description":"No response body"}}}}}}
```

## GET /ux/common/catalogue/servicecatalogue/service\_classes/

> API endpoint that allows users to be viewed or edited.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/service_classes/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_service_classes_retrieve","description":"API endpoint that allows users to be viewed or edited.","tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## GET /ux/common/catalogue/servicecatalogue/services/

> API endpoint that allows users to be viewed or edited.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Catalogue":{"type":"object","description":"Serializer for Documents.\n\nRecognized primitve fields:\n\n    * ``StringField``\n    * ``URLField``\n    * ``EmailField``\n    * ``IntField``\n    * ``LongField``\n    * ``FloatField``\n    * ``DecimalField``\n    * ``BooleanField``\n    * ``DateTimeField``\n    * ``ComplexDateTimeField``\n    * ``ObjectIdField``\n    * ``SequenceField`` (assumes it has integer counter)\n    * ``UUIDField``\n    * ``GeoPointField``\n    * ``GeoJsonBaseField`` (all those fields)\n    * ``DateField``\n\nCompound fields: ``ListField`` and ``DictField`` are mapped to corresponding DRF fields, with respect to nested field specification.\n\nThe ``ReferenceField`` is handled like ``ForeignKey`` in DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it's handled by it's own (results as ``str(id)``).\n\nFor ``EmbeddedDocumentField`` also nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.\n\nGeneric fields ``GenericReferenceField`` and ``GenericEmbeddedDocumentField`` are handled by their own with corresponding serializer fields.\n\nNot well supported or untested:\n\n    ``FileField``\n    ``ImageField``\n    ``BinaryField``\n\nAll other fields are mapped to ``DocumentField`` and probably will work wrong.","properties":{"id":{"type":"string","readOnly":true},"catalogue_id":{"type":"string","maxLength":25},"name":{"type":"string"},"parent_id":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"classification":{"type":"object","additionalProperties":{}},"user_tag":{"type":"array","items":{}},"team":{"type":"array","items":{}},"is_deleted":{"type":"boolean"},"organization":{"type":"string"}},"required":["catalogue_id","id","organization"]}}},"paths":{"/ux/common/catalogue/servicecatalogue/services/":{"get":{"operationId":"ux_common_catalogue_servicecatalogue_services_retrieve","description":"API endpoint that allows users to be viewed or edited.","tags":["Service Catalogue"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}},"description":""}}}}}}
```

## Update a catalogue.

> This endpoint is used to update a catalogue.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}}},"paths":{"/ux/common/catalogue/servicecatalogue/update-catalogue/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_update_catalogue_create","description":"This endpoint is used to update a catalogue.","summary":"Update a catalogue.","tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"201":{"description":"No response body"}}}}}}
```

## Update a service.

> This endpoint is used to update a service.

```json
{"openapi":"3.0.3","info":{"title":"","version":"0.0.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization"}}},"paths":{"/ux/common/catalogue/servicecatalogue/update-service/":{"post":{"operationId":"ux_common_catalogue_servicecatalogue_update_service_create","description":"This endpoint is used to update a service.","summary":"Update a service.","tags":["Service Catalogue"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"201":{"description":"No response body"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.infraon.io/infraon-infinity-api-guide/modules/service-catalogue.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
