Skip to main content

Common Types

Shared types used across the SDK: pagination, validation, relationships.

CustomPolicyControlInfo​

Nested info object for custom policy control details.

Fields​

FieldTypeRequiredDescription
descriptionAny-
long_descriptionAny-
control_typeAny-
authorAny-
implementation_guidanceAny-

Example​

from credoai import CustomPolicyControlInfo

obj = CustomPolicyControlInfo(
)

EvidenceRequirement​

Evidence requirement definition for a policy control.

Fields​

FieldTypeRequiredDescription
typestr✓-
descriptionAny-
requiredbool-

Example​

from credoai import EvidenceRequirement

obj = EvidenceRequirement(
type="example",
)

HTTPValidationError​

Fields​

FieldTypeRequiredDescription
detailList[ValidationError]-

Example​

from credoai import HTTPValidationError

obj = HTTPValidationError(
)

HealthResponse​

Response model for health check endpoints.

Attributes: message: Boolean indicating the health status (True = healthy).

Fields​

FieldTypeRequiredDescription
messagebool✓-

Example​

from credoai import HealthResponse

obj = HealthResponse(
message=True,
)

PaginationInfo​

Pagination metadata for navigating through results.

Attributes: next_cursor: Opaque cursor token for fetching the next page. None if there are no more results. has_more: Whether there are more results available after this page. total_count: Total number of items across all pages. None if the backend doesn't provide this information.

Fields​

FieldTypeRequiredDescription
next_cursorAnyCursor token for the next page of results
has_moreboolWhether more results are available
total_countAnyTotal number of items across all pages

Example​

from credoai import PaginationInfo

obj = PaginationInfo(
)

PingResponse​

Fields​

FieldTypeRequiredDescription
messagestr✓-

Example​

from credoai import PingResponse

obj = PingResponse(
message="example",
)

RelationshipAdd​

Schema for adding a relationship to an entity.

Fields​

FieldTypeRequiredDescription
idstr✓ID of the entity to add to the relationship

Example​

from credoai import RelationshipAdd

obj = RelationshipAdd(
id="example",
)

TokenResponse​

Response model for token exchange.

Fields​

FieldTypeRequiredDescription
access_tokenAny✓-

Example​

from credoai import TokenResponse

obj = TokenResponse(
access_token=None,
)

ValidationError​

Fields​

FieldTypeRequiredDescription
locList[Any]✓-
msgstr✓-
typestr✓-

Example​

from credoai import ValidationError

obj = ValidationError(
loc=None,
msg="example",
type="example",
)

PaginatedResponse_ModelResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[ModelResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_ModelResponse_

obj = PaginatedResponse_ModelResponse_(
items=None,
pagination=None,
)

PaginatedResponse_PolicyControlBaseResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[PolicyControlBaseResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_PolicyControlBaseResponse_

obj = PaginatedResponse_PolicyControlBaseResponse_(
items=None,
pagination=None,
)

PaginatedResponse_PolicyControlResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[PolicyControlResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_PolicyControlResponse_

obj = PaginatedResponse_PolicyControlResponse_(
items=None,
pagination=None,
)

PaginatedResponse_PolicyControlVersionResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[PolicyControlVersionResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_PolicyControlVersionResponse_

obj = PaginatedResponse_PolicyControlVersionResponse_(
items=None,
pagination=None,
)

PaginatedResponse_PolicyPackAttachmentResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[PolicyPackAttachmentResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_PolicyPackAttachmentResponse_

obj = PaginatedResponse_PolicyPackAttachmentResponse_(
items=None,
pagination=None,
)

PaginatedResponse_PolicyPackResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[PolicyPackResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_PolicyPackResponse_

obj = PaginatedResponse_PolicyPackResponse_(
items=None,
pagination=None,
)

PaginatedResponse_QuestionnaireAttachmentResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[QuestionnaireAttachmentResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_QuestionnaireAttachmentResponse_

obj = PaginatedResponse_QuestionnaireAttachmentResponse_(
items=None,
pagination=None,
)

PaginatedResponse_QuestionnaireResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[QuestionnaireResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_QuestionnaireResponse_

obj = PaginatedResponse_QuestionnaireResponse_(
items=None,
pagination=None,
)

PaginatedResponse_RiskScenarioResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[RiskScenarioResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_RiskScenarioResponse_

obj = PaginatedResponse_RiskScenarioResponse_(
items=None,
pagination=None,
)

PaginatedResponse_RiskTypeResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[RiskTypeResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_RiskTypeResponse_

obj = PaginatedResponse_RiskTypeResponse_(
items=None,
pagination=None,
)

PaginatedResponse_UseCaseControlResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[UseCaseControlResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_UseCaseControlResponse_

obj = PaginatedResponse_UseCaseControlResponse_(
items=None,
pagination=None,
)

PaginatedResponse_UseCaseResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[UseCaseResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_UseCaseResponse_

obj = PaginatedResponse_UseCaseResponse_(
items=None,
pagination=None,
)

PaginatedResponse_UseCaseRiskScenarioResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[UseCaseRiskScenarioResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_UseCaseRiskScenarioResponse_

obj = PaginatedResponse_UseCaseRiskScenarioResponse_(
items=None,
pagination=None,
)

PaginatedResponse_VendorResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[VendorResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_VendorResponse_

obj = PaginatedResponse_VendorResponse_(
items=None,
pagination=None,
)

PaginatedResponse_WorkflowStageResponse_​

Fields​

FieldTypeRequiredDescription
itemsList[WorkflowStageResponse]✓List of items in the current page
paginationPaginationInfo✓Pagination metadata

Example​

from credoai import PaginatedResponse_WorkflowStageResponse_

obj = PaginatedResponse_WorkflowStageResponse_(
items=None,
pagination=None,
)

ClientRequest​

Base class for client requests with validation and JSON:API support. This base class provides common functionality for all API request models, including validation, serialization, and JSON:API format conversion. Methods: to_dict(): Convert to dictionary for API requests to_jsonapi(): Convert to JSON:API format for requests

Fields​

FieldTypeRequiredDescription

Example​

from credoai import ClientRequest

obj = ClientRequest(
)

ClientResponse​

Base class for client responses with metadata. Provides a consistent structure for all API response wrappers, including status information and request tracing.

Fields​

FieldTypeRequiredDescription
status_codeint✓HTTP response status code
headersForwardRef('Dict[str, str]')HTTP response headers
request_idForwardRef('Optional[str]')Unique request identifier for tracing

Example​

from credoai import ClientResponse

obj = ClientResponse(
status_code=123,
)

HealthResponseWrapper​

Response wrapper for HealthResponse with metadata and validation. Extends ClientResponse to provide type-safe access to HealthResponse data along with HTTP response metadata.

Fields​

FieldTypeRequiredDescription
status_codeint✓HTTP response status code
headersForwardRef('Dict[str, str]')HTTP response headers
request_idForwardRef('Optional[str]')Unique request identifier for tracing
dataForwardRef('HealthResponse')✓Validated response data

Example​

from credoai import HealthResponseWrapper

obj = HealthResponseWrapper(
status_code=123,
data=None,
)

JsonApiResourceBase​

Base class for JSON:API resource responses. This follows the JSON:API specification (https://jsonapi.org/) for consistent resource representation across the API.

Fields​

FieldTypeRequiredDescription
idstr✓Unique resource identifier
typestr✓Resource type identifier

Example​

from credoai import JsonApiResourceBase

obj = JsonApiResourceBase(
id="example",
type="example",
)

JsonApiResponse​

Standard JSON:API response wrapper. Provides a consistent structure for all API responses following the JSON:API specification. Supports both single resources and collections.

Fields​

FieldTypeRequiredDescription
dataForwardRef('Union[Dict[str, Any], List[Dict[str, Any]]]')✓Primary response data
includedForwardRef('Optional[List[Dict[str, Any]]]')Included resources for compound documents
metaForwardRef('Optional[Dict[str, Any]]')Non-standard metadata about the response

Example​

from credoai import JsonApiResponse

obj = JsonApiResponse(
data=None,
)

JsonApiUseCaseResource​

JSON:API formatted use case resource. Represents a use case resource in JSON:API format with type-safe attributes.

Fields​

FieldTypeRequiredDescription
idstr✓Unique resource identifier
typeForwardRef("Literal['use_cases']")-
attributesForwardRef("'UseCaseResponse'")✓Use case data attributes

Example​

from credoai import JsonApiUseCaseResource

obj = JsonApiUseCaseResource(
id="example",
attributes=None,
)

JsonApiUserResource​

JSON:API formatted user resource. Represents a user resource in JSON:API format.

Fields​

FieldTypeRequiredDescription
idstr✓Unique resource identifier
typeForwardRef("Literal['users']")-
attributesForwardRef('Dict[str, Any]')✓User data attributes

Example​

from credoai import JsonApiUserResource

obj = JsonApiUserResource(
id="example",
attributes=None,
)

PaginatedResponse​

Generic paginated response wrapper. Wraps a list of items with pagination metadata for cursor-based navigation.

Fields​

FieldTypeRequiredDescription
itemsForwardRef('List[T]')✓List of items in the current page
paginationForwardRef('PaginationInfo')✓Pagination metadata

Example​

from credoai import PaginatedResponse

obj = PaginatedResponse(
items=None,
pagination=None,
)

PingResponseWrapper​

Response wrapper for PingResponse with metadata and validation. Extends ClientResponse to provide type-safe access to PingResponse data along with HTTP response metadata.

Fields​

FieldTypeRequiredDescription
status_codeint✓HTTP response status code
headersForwardRef('Dict[str, str]')HTTP response headers
request_idForwardRef('Optional[str]')Unique request identifier for tracing
dataForwardRef('PingResponse')✓Validated response data

Example​

from credoai import PingResponseWrapper

obj = PingResponseWrapper(
status_code=123,
data=None,
)

TokenResponseWrapper​

Response wrapper for TokenResponse with metadata and validation. Extends ClientResponse to provide type-safe access to TokenResponse data along with HTTP response metadata.

Fields​

FieldTypeRequiredDescription
status_codeint✓HTTP response status code
headersForwardRef('Dict[str, str]')HTTP response headers
request_idForwardRef('Optional[str]')Unique request identifier for tracing
dataForwardRef('TokenResponse')✓Validated response data

Example​

from credoai import TokenResponseWrapper

obj = TokenResponseWrapper(
status_code=123,
data=None,
)