Skip to main content

Questionnaires

Manage questionnaires in Credo AI.

Methods

create

Create Questionnaire Create a new questionnaire base.

This endpoint creates a new questionnaire in the Credo AI platform.

from credoai import QuestionnaireCreate

data = QuestionnaireCreate(
name="Example Name",
)

response = client.questionnaires.create(
data=data,
)

Parameters:

Returns: Response object


list

List Questionnaires List all published questionnaires.

This endpoint retrieves all questionnaires with optional pagination. Returns a paginated response with items and pagination metadata.

Args: page_limit: Maximum number of items per page page_after: Cursor for pagination target: Filter by target type ("use_case", "vendor", "model")

response = client.questionnaires.list(
)

Parameters:

  • page_limit (Any, optional) - Query parameter
  • page_after (Any, optional) - Query parameter
  • target (Any, optional) - Query parameter

Returns: Response object


get

Get Questionnaire Get a questionnaire by ID.

This endpoint retrieves an existing questionnaire by its ID.

questionnaire_id = "questionnaire_id-123"

response = client.questionnaires.get(
questionnaire_id=questionnaire_id,
)

Parameters:

  • questionnaire_id (str, required) - Resource identifier

Returns: Response object


update

Update Questionnaire Update an existing questionnaire base.

This endpoint updates an existing questionnaire with the provided data. Only the fields provided in the request will be updated.

from credoai import QuestionnaireUpdate

questionnaire_id = "questionnaire_id-123"

data = QuestionnaireUpdate(
name="Example Name",
)

response = client.questionnaires.update(
questionnaire_id=questionnaire_id,
data=data,
)

Parameters:

  • questionnaire_id (str, required) - Resource identifier
  • data (QuestionnaireUpdate, required) - Request payload

Returns: Response object


delete

Delete Questionnaire Delete a questionnaire base by ID.

This endpoint deletes an existing questionnaire by its ID.

questionnaire_id = "questionnaire_id-123"

response = client.questionnaires.delete(
questionnaire_id=questionnaire_id,
)

Parameters:

  • questionnaire_id (str, required) - Resource identifier

Returns: Response object


duplicate

Duplicate Questionnaire Duplicate a questionnaire.

This endpoint creates a copy of an existing questionnaire with a new key and name.

from credoai import QuestionnaireDuplicate

questionnaire_id = "questionnaire_id-123"

data = QuestionnaireDuplicate(
name="Example Name",
)

response = client.questionnaires.duplicate(
questionnaire_id=questionnaire_id,
data=data,
)

Parameters:

  • questionnaire_id (str, required) - Resource identifier
  • data (QuestionnaireDuplicate, required) - Request payload

Returns: Response object


Error Handling

from credoai.errors import ApiError, ClientValidationError
from credoai.auth import AuthenticationError

try:
response = client.questionnaires.create(...)
except ApiError as e:
print(f"API error {e.status_code}: {e.message}")
except ClientValidationError as e:
print(f"Validation error: {e}")
except AuthenticationError as e:
print(f"Auth error: {e}")