datocms-plugin-sdk
Version:
1,339 lines • 207 kB
TypeScript
/** This file was automatically generated by hyperschema-to-ts: DO NOT MODIFY IT BY HAND. */
/**
* JSON API type field
*
* This interface was referenced by `Role`'s JSON-Schema via the `definition` "type".
*/
export declare type RoleType = 'role';
/**
* ID of role
*
* This interface was referenced by `Role`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Role`'s JSON-Schema via the `definition` "id".
*/
export declare type RoleIdentity = string;
/**
* ID of item type
*
* This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "id".
*/
export declare type ItemTypeIdentity = string;
/**
* ID of workflow
*
* This interface was referenced by `Workflow`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Workflow`'s JSON-Schema via the `definition` "id".
*/
export declare type WorkflowIdentity = string;
/**
* ID of environment. Can only contain lowercase letters, numbers and dashes
*
* This interface was referenced by `Environment`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Environment`'s JSON-Schema via the `definition` "id".
*/
export declare type EnvironmentIdentity = string;
/**
* ID of build_trigger
*
* This interface was referenced by `BuildTrigger`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `BuildTrigger`'s JSON-Schema via the `definition` "id".
*/
export declare type BuildTriggerIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `User`'s JSON-Schema via the `definition` "type".
*/
export declare type UserType = 'user';
/**
* ID of collaborator
*
* This interface was referenced by `User`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `User`'s JSON-Schema via the `definition` "id".
*/
export declare type UserIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "type".
*/
export declare type SsoUserType = 'sso_user';
/**
* ID of user
*
* This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "id".
*/
export declare type SsoUserIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "type".
*/
export declare type SsoGroupType = 'sso_group';
/**
* ID of group
*
* This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "id".
*/
export declare type SsoGroupIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition` "type".
*/
export declare type AuditLogEventType = 'audit_log_event';
/**
* ULID of event (https://github.com/ulid/spec)
*
* This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition` "id".
*/
export declare type AuditLogEventIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `Account`'s JSON-Schema via the `definition` "type".
*/
export declare type AccountType = 'account';
/**
* ID of account
*
* This interface was referenced by `Account`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Account`'s JSON-Schema via the `definition` "id".
*/
export declare type AccountIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `SitePlan`'s JSON-Schema via the `definition` "type".
*/
export declare type SitePlanType = 'site_plan';
/**
* ID of plan
*
* This interface was referenced by `SitePlan`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `SitePlan`'s JSON-Schema via the `definition` "id".
*/
export declare type SitePlanIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "type".
*/
export declare type MenuItemType = 'menu_item';
/**
* ID of menu item
*
* This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "id".
*/
export declare type MenuItemIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "type".
*/
export declare type ItemTypeType = 'item_type';
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `instances.hrefSchema` link. */
export declare type MenuItemInstancesHrefSchema = {
filter?: {
/** IDs to fetch, comma separated */
ids: string;
};
};
/**
* JSON API type field
*
* This interface was referenced by `Item`'s JSON-Schema via the `definition` "type".
*/
export declare type ItemType = 'item';
/**
* ID of record
*
* This interface was referenced by `Item`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Item`'s JSON-Schema via the `definition` "id".
*/
export declare type ItemIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `Field`'s JSON-Schema via the `definition` "type".
*/
export declare type FieldType = 'field';
/**
* ID of field
*
* This interface was referenced by `Field`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Field`'s JSON-Schema via the `definition` "id".
*/
export declare type FieldIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `Workflow`'s JSON-Schema via the `definition` "type".
*/
export declare type WorkflowType = 'workflow';
/**
* JSON API type field
*
* This interface was referenced by `Job`'s JSON-Schema via the `definition` "type".
*/
export declare type TargetSchemaPropertiesDataType = 'job';
/**
* ID of job
*
* This interface was referenced by `Job`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Job`'s JSON-Schema via the `definition` "id".
*/
export declare type TargetSchemaPropertiesDataIdentity = string;
/**
* JSON API type fieldset
*
* This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "type".
*/
export declare type FieldsetType = 'fieldset';
/**
* ID of fieldset
*
* This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "id".
*/
export declare type FieldsetIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `Session`'s JSON-Schema via the `definition` "type".
*/
export declare type SessionType = 'session';
/**
* JSON web token for the session
*
* This interface was referenced by `Session`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Session`'s JSON-Schema via the `definition` "id".
*/
export declare type SessionIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "type".
*/
export declare type AccessTokenType = 'access_token';
/**
* ID of access_token
*
* This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "id".
*/
export declare type AccessTokenIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "type".
*/
export declare type PluginType = 'plugin';
/**
* ID of plugin
*
* This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "id".
*/
export declare type PluginIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `JobResult`'s JSON-Schema via the `definition` "type".
*/
export declare type JobResultType = 'job_result';
/**
* ID of job result
*
* This interface was referenced by `JobResult`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `JobResult`'s JSON-Schema via the `definition` "id".
*/
export declare type JobResultIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the `definition` "type".
*/
export declare type SubscriptionLimitType = 'subscription_limit';
/**
* ID of limit
*
* This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the
* `definition` "identity".
*
* This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the `definition` "id".
*/
export declare type SubscriptionLimitIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the
* `definition` "type".
*/
export declare type SubscriptionFeatureType = 'subscription_feature';
/**
* ID of feature
*
* This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the
* `definition` "identity".
*
* This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the `definition` "id".
*/
export declare type SubscriptionFeatureIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition` "type".
*/
export declare type BuildEventType = 'build_event';
/**
* ID of menu item
*
* This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition` "id".
*/
export declare type BuildEventIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `BuildTrigger`'s JSON-Schema via the `definition` "type".
*/
export declare type BuildTriggerType = 'build_trigger';
/** This interface was referenced by `Item`'s JSON-Schema via the `instances.hrefSchema` link. */
export declare type ItemInstancesHrefSchema = {
/**
* For Modular Content fields and Structured Text fields. If set, returns full payload
* for nested blocks instead of IDs
*/
nested?: string;
/** Attributes to filter records */
filter?: {
/**
* Record (or block record) IDs to fetch, comma separated. If you use this filter,
* you *must not* use `filter[type]` or `filter[fields]`
*/
ids?: string;
/**
* Model ID or `api_key` to filter. If you use this filter, you *must not* use
* `filter[ids]`. Comma separated values are accepted, but you *must not* use
* `filter[fields]` in this case
*/
type?: string;
/**
* Textual query to match. You *must not* use `filter[ids]`. If `locale` is defined,
* search within that locale. Otherwise environment's main locale will be used.
*/
query?: string;
/**
* Same as [GraphQL API records
* filters](/docs/content-delivery-api/filtering-records). Use snake_case for fields
* names. If `locale` is defined, search within that locale. Otherwise environment's
* main locale will be used.
*/
fields?: {
[k: string]: unknown;
};
[k: string]: unknown;
};
/**
* When `filter[query]` or `field[fields]` is defined, filter by this locale. Default:
* environment's main locale
*/
locale?: string;
/** Attributes to manage results pagination */
page?: {
/** Index of first record to fetch. Default: 0 */
offset?: number;
/** Number of records to fetch. Maximum is 500 per page, default is 30. */
limit?: number;
[k: string]: unknown;
};
/**
* Fields used to order results. You *must* specify also `filter[type]` with one
* element only to be able use this option. Format:
* `<field_name>_<DIRECTION(ASC|DESC)>`. You can pass multiple comma separated rules
*/
order_by?: string;
/**
* Whether you want the currently published versions (`published`, default) of your
* records, or the latest available (`current`)
*/
version?: string;
[k: string]: unknown;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `references.hrefSchema` link. */
export declare type ItemReferencesHrefSchema = {
/**
* For Modular Content fields and Structured Text fields, return full payload for
* nested blocks instead of IDs
*/
nested?: 'true';
/**
* Retrieve only the selected type of version that is linked to the record; current,
* published or both
*/
version?: null | ('current' | 'published' | 'published-or-current');
[k: string]: unknown;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `self.hrefSchema` link. */
export declare type ItemSelfHrefSchema = {
/**
* For Modular Content fields and Structured Text fields. If set, returns full payload
* for nested blocks instead of IDs
*/
nested?: string;
/**
* Whether you want the currently published versions (`published`, default) of your
* records, or the latest available (`current`)
*/
version?: string;
[k: string]: unknown;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_destroy.hrefSchema` link. */
export declare type ItemBatchDestroyHrefSchema = {
/** IDs of records to delete, comma separated */
'filter[ids]': string;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_publish.hrefSchema` link. */
export declare type ItemBatchPublishHrefSchema = {
/** IDs of records to publish, comma separated */
'filter[ids]': string;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_unpublish.hrefSchema` link. */
export declare type ItemBatchUnpublishHrefSchema = {
/** IDs of records to unpublish, comma separated */
'filter[ids]': string;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `publish.hrefSchema` link. */
export declare type ItemPublishHrefSchema = {
/** If the record references other draft records, force a recursive publication */
recursive?: string;
[k: string]: unknown;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `unpublish.hrefSchema` link. */
export declare type ItemUnpublishHrefSchema = {
/** If the record is referenced by other published records, unpublish them recursively */
recursive?: string;
[k: string]: unknown;
};
/**
* JSON API type field
*
* This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "type".
*/
export declare type ItemVersionType = 'item_version';
/**
* ID of record version
*
* This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "id".
*/
export declare type ItemVersionIdentity = string;
/**
* JSON API type upload
*
* This interface was referenced by `Upload`'s JSON-Schema via the `definition` "type".
*/
export declare type UploadType = 'upload';
/**
* ID of upload
*
* This interface was referenced by `Upload`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Upload`'s JSON-Schema via the `definition` "id".
*/
export declare type UploadIdentity = string;
/** This interface was referenced by `Upload`'s JSON-Schema via the `instances.hrefSchema` link. */
export declare type UploadInstancesHrefSchema = {
/** Attributes to filter uploads */
filter?: {
/** IDs to fetch, comma separated */
ids?: string;
/**
* Textual query to match. If `locale` is defined, search within that locale.
* Otherwise environment's main locale will be used.
*/
query?: string;
/**
* Same as [GraphQL API uploads
* filters](/docs/content-delivery-api/filtering-uploads). Use snake_case for fields
* names. If `locale` is defined, search within that locale. Otherwise environment's
* main locale will be used.
*/
fields?: {
[k: string]: unknown;
};
[k: string]: unknown;
};
/**
* When `filter[query]` or `field[fields]` is defined, filter by this locale. Default:
* environment's main locale
*/
locale?: string;
/**
* Fields used to order results. Format: `<field_name>_<DIRECTION(ASC|DESC)>`. You can
* pass multiple comma separated rules.
*/
order_by?: string;
/** Attributes to manage results pagination */
page?: {
/** Index of first upload to fetch. Default: 0 */
offset?: number;
/** Number of uplads to fetch. Maximum is 500 per page, default is 30. */
limit?: number;
[k: string]: unknown;
};
[k: string]: unknown;
};
/**
* This interface was referenced by `Upload`'s JSON-Schema via the
* `batch_add_tags.hrefSchema` link.
*/
export declare type UploadBatchAddTagsHrefSchema = {
/** IDs to tag, comma separated */
'filter[ids]'?: string;
[k: string]: unknown;
};
/** This interface was referenced by `Upload`'s JSON-Schema via the `batch_destroy.hrefSchema` link. */
export declare type UploadBatchDestroyHrefSchema = {
/** IDs to destroy, comma separated */
'filter[ids]'?: string;
[k: string]: unknown;
};
/** This interface was referenced by `Upload`'s JSON-Schema via the `references.hrefSchema` link. */
export declare type UploadReferencesHrefSchema = {
/**
* For Modular Content fields and Structured Text fields, return full payload for
* nested blocks instead of IDs
*/
nested?: string;
/**
* Retrieve only the selected type of version that is linked to the upload; current,
* published or both
*/
version?: null | ('current' | 'published' | 'published-or-current');
[k: string]: unknown;
};
/**
* JSON API type field
*
* This interface was referenced by `UploadRequest`'s JSON-Schema via the `definition` "type".
*/
export declare type UploadRequestType = 'upload_request';
/**
* The S3 path where the file will be stored
*
* This interface was referenced by `UploadRequest`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `UploadRequest`'s JSON-Schema via the `definition` "id".
*/
export declare type UploadRequestIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
* `definition` "type".
*/
export declare type ScheduledPublicationType = 'scheduled_publication';
/**
* ID of scheduled_publication
*
* This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
* `definition` "identity".
*
* This interface was referenced by `ScheduledPublication`'s JSON-Schema via the `definition` "id".
*/
export declare type ScheduledPublicationIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
* `definition` "type".
*/
export declare type ScheduledUnpublishingType = 'scheduled_unpublishing';
/**
* ID of scheduled_unpublishing
*
* This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
* `definition` "identity".
*
* This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
* `definition` "id".
*/
export declare type ScheduledUnpublishingIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `SearchResult`'s JSON-Schema via the `definition` "type".
*/
export declare type SearchResultType = 'search_result';
/**
* ID of result
*
* This interface was referenced by `SearchResult`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `SearchResult`'s JSON-Schema via the `definition` "id".
*/
export declare type SearchResultIdentity = string;
/**
* This interface was referenced by `SearchResult`'s JSON-Schema via the
* `instances.hrefSchema` link.
*/
export declare type SearchResultInstancesHrefSchema = {
/** The query string to search */
q: string;
/** The build trigger ID on which the search will be performed */
build_trigger_id?: string;
/** Restrict the search on one locale */
locale?: string;
/** Maximum number of results to return (Max: 100, default: 20) */
limit?: string;
/** Number of records to offset for the search */
offset?: string;
[k: string]: unknown;
};
/**
* JSON API type field
*
* This interface was referenced by `Environment`'s JSON-Schema via the `definition` "type".
*/
export declare type EnvironmentType = 'environment';
/**
* JSON API type field
*
* This interface was referenced by `MaintenanceMode`'s JSON-Schema via the `definition` "type".
*/
export declare type MaintenanceModeType = 'maintenance_mode';
/**
* ID of maintenance_mode
*
* This interface was referenced by `MaintenanceMode`'s JSON-Schema via the `definition`
* "identity".
*
* This interface was referenced by `MaintenanceMode`'s JSON-Schema via the `definition` "id".
*/
export declare type MaintenanceModeIdentity = string;
/**
* This interface was referenced by `MaintenanceMode`'s JSON-Schema via the
* `activate.hrefSchema` link.
*/
export declare type MaintenanceModeActivateHrefSchema = {
/** Force the activation, even if there are collaborators editing some records. */
force?: boolean;
[k: string]: unknown;
};
/**
* JSON API type field
*
* This interface was referenced by `Webhook`'s JSON-Schema via the `definition` "type".
*/
export declare type WebhookType = 'webhook';
/**
* ID of webhook
*
* This interface was referenced by `Webhook`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Webhook`'s JSON-Schema via the `definition` "id".
*/
export declare type WebhookIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "type".
*/
export declare type WebhookCallType = 'webhook_call';
/**
* ID of webhook call
*
* This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "id".
*/
export declare type WebhookCallIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition` "type".
*/
export declare type ItemTypeFilterType = 'item_type_filter';
/**
* ID of filter
*
* This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition` "id".
*/
export declare type ItemTypeFilterIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `UploadFilter`'s JSON-Schema via the `definition` "type".
*/
export declare type UploadFilterType = 'upload_filter';
/**
* ID of filter
*
* This interface was referenced by `UploadFilter`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `UploadFilter`'s JSON-Schema via the `definition` "id".
*/
export declare type UploadFilterIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition` "type".
*/
export declare type SiteInvitationType = 'site_invitation';
/**
* ID of invitation
*
* This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition` "id".
*/
export declare type SiteInvitationIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `EditingSession`'s JSON-Schema via the `definition` "type".
*/
export declare type EditingSessionType = 'editing_session';
/**
* UUID of presence
*
* This interface was referenced by `EditingSession`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `EditingSession`'s JSON-Schema via the `definition` "id".
*/
export declare type EditingSessionIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition` "type".
*/
export declare type SsoSettingsType = 'sso_settings';
/**
* ID
*
* This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition` "id".
*/
export declare type SsoSettingsIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the `definition` "type".
*/
export declare type WhiteLabelSettingsType = 'white_label_settings';
/**
* ID
*
* This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the
* `definition` "identity".
*
* This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the `definition` "id".
*/
export declare type WhiteLabelSettingsIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `PublicInfo`'s JSON-Schema via the `definition` "type".
*/
export declare type PublicInfoType = 'public_info';
/**
* ID of site
*
* This interface was referenced by `PublicInfo`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `PublicInfo`'s JSON-Schema via the `definition` "id".
*/
export declare type PublicInfoIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `DailyUsage`'s JSON-Schema via the `definition` "type".
*/
export declare type DailyUsageType = 'daily_usage';
/**
* ID of site
*
* This interface was referenced by `DailyUsage`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `DailyUsage`'s JSON-Schema via the `definition` "id".
*/
export declare type DailyUsageIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `UsageCounter`'s JSON-Schema via the `definition` "type".
*/
export declare type UsageCounterType = 'usage_counter';
/**
* Name of the counter
*
* This interface was referenced by `UsageCounter`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `UsageCounter`'s JSON-Schema via the `definition` "id".
*/
export declare type UsageCounterIdentity = 'assets_path_bytes' | 'assets_referrer_bytes' | 'assets_ip_bytes' | 'cda_access_token_id_bytes' | 'cda_access_token_id_requests' | 'cda_referrer_bytes' | 'cda_referrer_requests' | 'cda_ip_bytes' | 'cda_ip_requests' | 'cma_endpoint_bytes' | 'cma_endpoint_requests' | 'cma_user_bytes' | 'cma_user_requests' | 'cma_ip_bytes' | 'cma_ip_requests' | 'video_path_seconds';
/** This interface was referenced by `UsageCounter`'s JSON-Schema via the `self.hrefSchema` link. */
export declare type UsageCounterSelfHrefSchema = {
/** The time period upon which counters will be returned */
period?: 'today' | 'current_month' | 'last_month';
};
/**
* JSON API type field
*
* This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "type".
*/
export declare type UploadTagType = 'upload_tag';
/**
* ID of upload tag
*
* This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "id".
*/
export declare type UploadTagIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `UploadSmartTag`'s JSON-Schema via the `definition` "type".
*/
export declare type UploadSmartTagType = 'upload_smart_tag';
/**
* ID of upload tag
*
* This interface was referenced by `UploadSmartTag`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `UploadSmartTag`'s JSON-Schema via the `definition` "id".
*/
export declare type UploadSmartTagIdentity = string;
/**
* JSON API type field
*
* This interface was referenced by `Site`'s JSON-Schema via the `definition` "type".
*/
export declare type SiteType = 'site';
/**
* ID of site
*
* This interface was referenced by `Site`'s JSON-Schema via the `definition` "identity".
*
* This interface was referenced by `Site`'s JSON-Schema via the `definition` "id".
*/
export declare type SiteIdentity = string;
export interface DatoCMSSiteAPI {
role?: Role;
user?: User;
sso_user?: SsoUser;
audit_log_event?: AuditLogEvent;
account?: Account;
site_plan?: SitePlan;
menu_item?: MenuItem;
item_type?: ModelBlock;
field?: Field;
fieldset?: Fieldset;
job?: Job;
session?: Session;
access_token?: AccessToken;
plugin?: Plugin;
job_result?: JobResult;
subscription_limit?: SubscriptionLimit;
subscription_feature?: SubscriptionFeature;
build_event?: BuildEvent;
item?: Item;
item_version?: ItemVersion;
upload?: Upload;
upload_request?: UploadRequest;
scheduled_publication?: ScheduledPublication;
scheduled_unpublishing?: ScheduledUnpublishing;
search_result?: SearchResult;
environment?: Environment;
maintenance_mode?: MaintenanceMode;
webhook?: Webhook;
webhook_call?: WebhookCall;
build_trigger?: BuildTrigger;
item_type_filter?: ItemTypeFilter;
upload_filter?: UploadFilter;
site_invitation?: SiteInvitation;
editing_session?: EditingSession;
sso_group?: SsoGroup;
sso_settings?: SsoSettings;
white_label_settings?: WhiteLabelSettings;
public_info?: PublicInfo;
daily_usage?: DailyUsage;
usage_counter?: UsageCounter;
upload_tag?: UploadTag;
upload_smart_tag?: UploadSmartTag;
site?: Site;
workflow?: Workflow;
[k: string]: unknown;
}
/**
* A Role represents a specific set of actions an editor (or an API token) can perform on
* your administrative area.
*
* This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "role".
*/
export interface Role {
type: RoleType;
id: RoleIdentity;
attributes: RoleAttributes;
relationships: RoleRelationships;
meta: RoleMeta;
}
/**
* JSON API attributes
*
* This interface was referenced by `Role`'s JSON-Schema via the `definition` "attributes".
*/
export interface RoleAttributes {
/** The name of the role */
name: string;
/** Can edit favicon, global SEO settings and no-index policy */
can_edit_favicon: boolean;
/** Can change project name and 2FA settings */
can_edit_site: boolean;
/** Can create/edit models and plugins */
can_edit_schema: boolean;
/** Can customize content navigation bar */
can_manage_menu: boolean;
/** Can change locales, timezone and UI theme */
can_edit_environment: boolean;
/** Can promote environments to primary and manage maintenance mode */
can_promote_environments: boolean;
/** Specifies the environments the user can access */
environments_access: 'all' | 'primary_only' | 'sandbox_only';
/** Can create/edit roles and invite/remove collaborators */
can_manage_users: boolean;
/** Can create/edit shared filters (both for models and the media area) */
can_manage_shared_filters?: boolean;
/** Can create/edit Build triggers */
can_manage_build_triggers: boolean;
/** Can create/edit webhooks */
can_manage_webhooks: boolean;
/** Can create/delete sandbox environments and promote them to primary environment */
can_manage_environments: boolean;
/** Can manage Single Sign-On settings */
can_manage_sso: boolean;
/** Can access Audit Log */
can_access_audit_log: boolean;
/** Can create/edit workflows */
can_manage_workflows: boolean;
/** Can manage API tokens */
can_manage_access_tokens: boolean;
/** Can perform Site Search API calls */
can_perform_site_search: boolean;
/** Can access the build events log */
can_access_build_events_log: boolean;
/** Allowed actions on a model (or all) for a role */
positive_item_type_permissions: {
item_type?: ItemTypeIdentity | null;
workflow?: WorkflowIdentity | null;
on_stage?: null | string;
to_stage?: null | string;
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope` is
* `localized`
*/
locale?: string | null;
}[];
/** Prohibited actions on a model (or all) for a role */
negative_item_type_permissions: {
item_type?: ItemTypeIdentity | null;
workflow?: WorkflowIdentity | null;
on_stage?: null | string;
to_stage?: null | string;
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope` is
* `localized`
*/
locale?: string | null;
}[];
/** Allowed actions on a model (or all) for a role */
positive_upload_permissions: {
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope` is
* `localized`
*/
locale?: string | null;
}[];
/** Prohibited actions on a model (or all) for a role */
negative_upload_permissions: {
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope` is
* `localized`
*/
locale?: string | null;
}[];
/** Allowed build triggers for a role */
positive_build_trigger_permissions: {
build_trigger?: BuildTriggerIdentity | null;
}[];
/** Prohibited build triggers for a role */
negative_build_trigger_permissions: {
build_trigger?: BuildTriggerIdentity | null;
}[];
}
/**
* JSON API links
*
* This interface was referenced by `Role`'s JSON-Schema via the `definition` "relationships".
*/
export interface RoleRelationships {
/** The roles from which this role inherits permissions */
inherits_permissions_from: {
data: RoleData[];
};
}
/**
* JSON API data
*
* This interface was referenced by `Role`'s JSON-Schema via the `definition` "data".
*/
export interface RoleData {
type: RoleType;
id: RoleIdentity;
}
/**
* Meta information regarding the record
*
* This interface was referenced by `Role`'s JSON-Schema via the `definition` "meta".
*/
export interface RoleMeta {
/** The final set of permissions considering also inherited roles */
final_permissions: {
/** Can edit favicon, global SEO settings and no-index policy */
can_edit_favicon: boolean;
/** Can change project name and 2FA settings */
can_edit_site: boolean;
/** Can create/edit models and plugins */
can_edit_schema: boolean;
/** Can customize content navigation bar */
can_manage_menu: boolean;
/** Can change locales, timezone and UI theme */
can_edit_environment: boolean;
/** Can promote environments to primary and manage maintenance mode */
can_promote_environments: boolean;
/** Specifies the environments the user can access */
environments_access: 'all' | 'primary_only' | 'sandbox_only';
/** Can create/edit roles and invite/remove collaborators */
can_manage_users: boolean;
/** Can create/edit shared filters (both for models and the media area) */
can_manage_shared_filters?: boolean;
/** Can create/edit Build triggers */
can_manage_build_triggers: boolean;
/** Can create/edit webhooks */
can_manage_webhooks: boolean;
/** Can create/delete sandbox environments and promote them to primary environment */
can_manage_environments: boolean;
/** Can manage Single Sign-On settings */
can_manage_sso: boolean;
/** Can access Audit Log */
can_access_audit_log: boolean;
/** Can create/edit workflows */
can_manage_workflows: boolean;
/** Can manage API tokens */
can_manage_access_tokens: boolean;
/** Can perform Site Search API calls */
can_perform_site_search: boolean;
/** Can access the build events log */
can_access_build_events_log: boolean;
/** Allowed actions on a model (or all) for a role */
positive_item_type_permissions: {
item_type?: ItemTypeIdentity | null;
workflow?: WorkflowIdentity | null;
on_stage?: null | string;
to_stage?: null | string;
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope`
* is `localized`
*/
locale?: string | null;
}[];
/** Prohibited actions on a model (or all) for a role */
negative_item_type_permissions: {
item_type?: ItemTypeIdentity | null;
workflow?: WorkflowIdentity | null;
on_stage?: null | string;
to_stage?: null | string;
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope`
* is `localized`
*/
locale?: string | null;
}[];
/** Allowed actions on a model (or all) for a role */
positive_upload_permissions: {
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope`
* is `localized`
*/
locale?: string | null;
}[];
/** Prohibited actions on a model (or all) for a role */
negative_upload_permissions: {
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope`
* is `localized`
*/
locale?: string | null;
}[];
/** Allowed build triggers for a role */
positive_build_trigger_permissions: {
build_trigger?: BuildTriggerIdentity | null;
}[];
/** Prohibited build triggers for a role */
negative_build_trigger_permissions: {
build_trigger?: BuildTriggerIdentity | null;
}[];
};
}
/** This interface was referenced by `Role`'s JSON-Schema via the `create.schema` link. */
export interface RoleCreateSchema {
data: {
type: RoleType;
/** JSON API attributes */
attributes: {
/** The name of the role */
name: string;
/** Can edit favicon, global SEO settings and no-index policy */
can_edit_favicon?: boolean;
/** Can change project name and 2FA settings */
can_edit_site?: boolean;
/** Can create/edit models and plugins */
can_edit_schema?: boolean;
/** Can customize content navigation bar */
can_manage_menu?: boolean;
/** Can change locales, timezone and UI theme */
can_edit_environment?: boolean;
/** Can promote environments to primary and manage maintenance mode */
can_promote_environments?: boolean;
/** Specifies the environments the user can access */
environments_access?: 'all' | 'primary_only' | 'sandbox_only';
/** Can create/edit roles and invite/remove collaborators */
can_manage_users?: boolean;
/** Can create/edit shared filters (both for models and the media area) */
can_manage_shared_filters?: boolean;
/** Can create/edit Build triggers */
can_manage_build_triggers?: boolean;
/** Can create/edit webhooks */
can_manage_webhooks?: boolean;
/** Can create/delete sandbox environments and promote them to primary environment */
can_manage_environments?: boolean;
/** Can manage Single Sign-On settings */
can_manage_sso?: boolean;
/** Can access Audit Log */
can_access_audit_log?: boolean;
/** Can create/edit workflows */
can_manage_workflows?: boolean;
/** Can manage API tokens */
can_manage_access_tokens?: boolean;
/** Can perform Site Search API calls */
can_perform_site_search?: boolean;
/** Can access the build events log */
can_access_build_events_log?: boolean;
/** Allowed actions on a model (or all) for a role */
positive_item_type_permissions?: {
item_type?: ItemTypeIdentity | null;
workflow?: WorkflowIdentity | null;
on_stage?: null | string;
to_stage?: null | string;
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope`
* is `localized`
*/
locale?: string | null;
}[];
/** Prohibited actions on a model (or all) for a role */
negative_item_type_permissions?: {
item_type?: ItemTypeIdentity | null;
workflow?: WorkflowIdentity | null;
on_stage?: null | string;
to_stage?: null | string;
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope`
* is `localized`
*/
locale?: string | null;
}[];
/** Allowed actions on a model (or all) for a role */
positive_upload_permissions?: {
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope`
* is `localized`
*/
locale?: string | null;
}[];
/** Prohibited actions on a model (or all) for a role */
negative_upload_permissions?: {
environment: EnvironmentIdentity;
/** Permitted action */
action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
/** Permitted creator */
on_creator?: 'anyone' | 'self' | 'role' | null;
/** Permitted content scope */
localization_scope?: 'all' | 'localized' | 'not_localized' | null;
/**
* Permitted localized content in this locale. Required when `localization_scope`
* is `localized`
*/
locale?: string | null;
}[];
/** Allowed build triggers for a role */
positive_build_trigger_permissions?: {
build_trigger?: BuildTriggerIdentity | null;
}[];
/** Prohibited build triggers for a role */
negative_build_trigger_permissions?: {
build_trigger?: BuildTriggerIdentity | null;
}[];
};
/** JSON API links */
relationships?: {
/** The roles from which this role inherits permissions */
inherits_permissions_from?: {
data: RoleData[];
};
};
meta?: RoleMeta;
};
}
/** This interface was referenced by `Role`'s JSON-Schema via the `create.targetSchema` link. */
export interface RoleCreateTargetSchema {
data: Role;
}
/** This interface was referenced by `Role`'s JSON-Schema via the `update.schema` link. */
export interface RoleUpdateSchema {
data: {
type: RoleType;
id: RoleIdentity;
/** JSON API attributes */
attributes?: {
/** The name of the role */
name?: string;
/** Can edit favicon, global SEO settings and no-index policy */
can_edit_favicon?: boolean;
/** Can change project name and 2FA settings */
can_edit_site?: boolean;
/** Can create/edit models and plugins */
can_edit_schema?: boolean;
/** Can customize content navigation bar */
can_manage_menu?: boolean;
/** Can change locales, timezone and UI theme */
can_edit_environment?: boolean;
/** Can promote environments to primary and manage maintenance mode */
can_promote_environments?: boolean;
/** Specifies the environments the user can access */
environments_access?: 'all' | 'primary_only' | 'sandbox_only';
/** Can create/edit roles and invite/remove collaborators */
can_manage_users?: boolean;
/** Can create/edit shared filters (both for models and the media area) */
can_manage_shared_filters?: boolean;
/** Can create/edit