{
"$defs": {
"SAMProviderMetadata": {
"description": "Smarter API Provider Manifest - Metadata class.",
"properties": {
"name": {
"description": "The camelCase name of the manifest resource",
"title": "Name",
"type": "string"
},
"description": {
"description": "The description for this resource. Be brief. Keep it under 255 characters.",
"title": "Description",
"type": "string"
},
"version": {
"description": "The semantic version of the manifest. Example: 0.1.0",
"title": "Version",
"type": "string"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "The tags of the manifest. Used for generic resource categorization and search. Example: [tag1, tag2]",
"title": "Tags"
},
"annotations": {
"anyOf": [
{
"items": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"format": "date",
"type": "string"
},
{
"format": "date-time",
"type": "string"
},
{
"pattern": "^(?!^[-+.]*$)[+-]?0*d*.?d*$",
"type": "string"
},
{
"format": "uuid",
"type": "string"
},
{
"format": "binary",
"type": "string"
},
{
"items": {},
"type": "array"
},
{
"additionalProperties": true,
"type": "object"
}
]
},
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "The manifest annotations. Used for storing arbitrary metadata as
key-value pairs. Example: [{smarter.sh/test-manifest/project-name: Scooby dooby do}]. The
key should be a valid url-friendly string. The value accepts
multi-line string values (YAML block scalars) and various scalar types including
str, int, float, bool, datetime.date, datetime.datetime, decimal.Decimal, uuid.UUID, bytes, list, dict.
",
"title": "Annotations"
}
},
"required": [
"name",
"description",
"version"
],
"title": "SAMProviderMetadata",
"type": "object"
},
"SAMProviderSpec": {
"description": "Smarter API Api Connection Manifest ApiConnection.spec",
"properties": {
"provider": {
"$ref": "#/$defs/SAMProviderSpecProvider",
"description": "Provider.spec.selector[obj]: the spec for the Provider"
}
},
"required": [
"provider"
],
"title": "SAMProviderSpec",
"type": "object"
},
"SAMProviderSpecProvider": {
"description": "Smarter API - generic API Connection class.",
"properties": {
"name": {
"description": "The name of the Provider. Case sensitive. Must be unique and not empty, with no leading or trailing whitespace and no special characters. example: OpenAI, GoogleAI, MetaAI.",
"title": "Name",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A brief description of the Provider.",
"title": "Description"
},
"base_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The base URL for the Providers API.",
"title": "Base Url"
},
"api_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The name of the Smarter Secret containing the API key to use for verification tests.",
"title": "Api Key"
},
"connectivity_test_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "",
"description": "The URL path to test connectivity with the Providers API.",
"title": "Connectivity Test Path"
},
"logo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The logo of the Provider.",
"title": "Logo"
},
"website_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The website_url URL of the Provider.",
"title": "Website Url"
},
"contact_email": {
"anyOf": [
{
"format": "email",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The contact email of the Provider.",
"title": "Contact Email"
},
"support_email": {
"anyOf": [
{
"format": "email",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The support email of the Provider.",
"title": "Support Email"
},
"terms_of_service_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The terms of service URL of the Provider.",
"title": "Terms Of Service Url"
},
"docs_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The documentation URL of the Provider.",
"title": "Docs Url"
},
"privacy_policy_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The privacy policy URL of the Provider.",
"title": "Privacy Policy Url"
}
},
"required": [
"name"
],
"title": "SAMProviderSpecProvider",
"type": "object"
},
"SAMProviderStatus": {
"description": "Smarter API Provider Manifest - Status class.",
"properties": {
"owner": {
"description": "Account.status.owner: The designated Smarter user that owns this Account. Read only.",
"title": "Owner",
"type": "string"
},
"created": {
"description": "Account.status.created: The date in which this Account was created. Read only.",
"format": "date-time",
"title": "Created",
"type": "string"
},
"modified": {
"description": "Account.status.modified: The date in which this Account was most recently changed. Read only.",
"format": "date-time",
"title": "Modified",
"type": "string"
},
"is_active": {
"description": "Account.status.is_active: Indicates whether this Account is currently active. Read only.",
"title": "Is Active",
"type": "boolean"
},
"is_flagged": {
"description": "Account.status.is_flagged: Indicates whether this Account has been flagged for review. Read only.",
"title": "Is Flagged",
"type": "boolean"
},
"is_deprecated": {
"description": "Account.status.is_deprecated: Indicates whether this Account is deprecated. Read only.",
"title": "Is Deprecated",
"type": "boolean"
},
"is_suspended": {
"description": "Account.status.is_suspended: Indicates whether this Account is currently suspended. Read only.",
"title": "Is Suspended",
"type": "boolean"
},
"is_verified": {
"description": "Account.status.is_verified: Indicates whether this Account has been verified. Read only.",
"title": "Is Verified",
"type": "boolean"
},
"ownership_requested": {
"anyOf": [
{
"format": "email",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Account.status.ownership_requested: The Smarter user that has requested ownership of this Account. Read only.",
"title": "Ownership Requested"
},
"contact_email_verified": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Account.status.contact_email_verified: The date in which the contact email for this Account was verified. Read only.",
"title": "Contact Email Verified"
},
"support_email_verified": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Account.status.support_email_verified: The date in which the support email for this Account was verified. Read only.",
"title": "Support Email Verified"
},
"tos_accepted_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Account.status.tos_accepted_at: The date in which the Terms of Service for this Account were accepted. Read only.",
"title": "Tos Accepted At"
},
"tos_accepted_by": {
"anyOf": [
{
"format": "email",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Account.status.tos_accepted_by: The Smarter user that accepted the Terms of Service for this Account. Read only.",
"title": "Tos Accepted By"
},
"can_activate": {
"default": true,
"description": "Account.status.can_activate: Indicates whether this Account can be activated. Read only.",
"title": "Can Activate",
"type": "boolean"
}
},
"required": [
"owner",
"created",
"modified",
"is_active",
"is_flagged",
"is_deprecated",
"is_suspended",
"is_verified"
],
"title": "SAMProviderStatus",
"type": "object"
}
},
"description": "Smarter API Manifest - Account",
"properties": {
"apiVersion": {
"description": "apiVersion[String]: Required. The API version of the AbstractSAMBase.",
"title": "Apiversion",
"type": "string"
},
"kind": {
"description": "kind[String]: Required. The kind of resource described by the manifest.",
"title": "Kind",
"type": "string"
},
"metadata": {
"$ref": "#/$defs/SAMProviderMetadata",
"description": "Provider.metadata[obj]: Required, the Provider metadata."
},
"spec": {
"$ref": "#/$defs/SAMProviderSpec",
"description": "Provider.spec[obj]: Required, the Provider specification."
},
"status": {
"anyOf": [
{
"$ref": "#/$defs/SAMProviderStatus"
},
{
"type": "null"
}
],
"default": null,
"description": "Provider.status[obj]: Optional, Read-only. Stateful status information about the Provider."
}
},
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
],
"title": "SAMProvider",
"type": "object"
}