Skip to main content

Endpoint settings

You can add and update API endpoints on the API screen.
In order for clients to access Kuroco data, you need to set up endpoints that can modify the target resource.

This document describes the details of endpoint configurations.

Creating an endpoint

On the endpoint list screen, click [Configure endpoint] to open the endpoint configuration dialog.

fetched from Gyazo Image from Gyazo

ItemDescription
PathFollows the fixed format of: /rcms_api/{api_id}/. The first part of the path, /rcms_api/xxx/, cannot be changed.
  • In general, you should name the path based on how the endpoint is used, such as based on "model + behavior".
    For example, login, content/news, member/insert.
ModelSee: Model categories for a detailed description of each category/model/operation.
Values such as "v1" in the dropdown menu next to the model type indicate the version of each endpoint model.
SummaryOverview of the API. This information will be displayed on the endpoint list/Swagger UI screen.
DescriptionDetailed description of the API, including how to use it, if necessary. This information will be displayed on each endpoint on the Swagger UI screen.
The CommonMark notation can be used here.
AuthenticationAuthentication types:
  • None
  • GroupAuth
  • MemberCustomSearchAuth
If "GroupAuth" or "MemberCustomSearchAuth" is selected, the authorization of the logged-in user will be checked when using the API, and the request will be allowed only if the user has matching authorization.
CacheThe cache period of the API response in seconds. The cache will be automatically cleared when there is an update to the data to be retrieved, such as contents or members.
(Note: Since Kuroco is a pay-per-use service, we recommended that you configure the cache for media sites or other applications where a large number of requests are expected. We recommend a cache period of 1 day, 1 week, etc.)
Rate limitSet the number of requests allowed within a maximum of 3600 seconds. If the limit is exceeded, a '429 Too Many Requests' response will be generated.
Information on the rate limit status is contained in the following parts of the response header:
  • Limit number: x-rcms-ratelimit-limit
  • Remaining number of possible requests: x-rcms-ratelimit-remaining
  • Remaining time until reset: x-rcms-ratelimit-reset

Model categories

This section explains the category list for the "Model" field.

Image (fetched from Gyazo)

Authentication

ModelOperationDescription
Loginlogin_challengeLogin
login_challenge_mfaAuthenticate with MFA one-time password (second step of two-factor authentication)
tokenGet access token
file_access_tokenGet a file access token
alias_loginLogin using an alias ID
logoutLogout
reminderSend password reset e-mail / resets password
(when the user has forgotten their current password)
reset_passwordChange current password
(when the user remembers their current password)
profileGet login user information
gcs_infoGet information about the site-integrated GCS (Cloud Storage for Firebase)
firebaseTokenGet the authentication token of the site-integrated Firebase
LoginHistorylistGet login history
LoginFailedRelease version: β / RCversionlistGet login failure history list
TwofactorMethodreserveGenerate a secret key for two-factor authentication (provisional registration)
registConfirm two-factor authentication registration
reminderSend a reset code for two-factor authentication
resetReset two-factor authentication settings
deleteDelete two-factor authentication settings

Content

ModelOperationDescription
TopicslistGet content list
detailsGet content details
previewGet a preview of the content
insertAdd new content
updateUpdate content
deleteDelete content
draft_listGet draft list
draft_detailsGet draft details
draft_saveAdd new draft
draft_deleteDelete draft
draft_updateUpdate draft
waiting_for_approval_listGet the list of contents that are pending for approval
waiting_for_approval_detailsGet details of the content that is pending for approval
history_listGet content change history list
acceptApprove content
rejectReject content
bulk_upsertUpdate content in bulk
bulk_downloadDownload content in bulk
incrementIncrease or decrease the value of "counter" field(s) in the content
TopicsCategorylistGet category list
TopicsGrouplistGet content structure list
detailsGet content structure details
insertRelease version: β / RCversionAdd new content structure

Member

ModelOperationDescription
MemberProvisionallistGet pre-member list
insertAdd new pending member
updateUpdate pending member
deleteDelete pending member
MemberlistGet member list
detailsGet member details
inviteInvite a member
insertAdd new member
updateUpdate current member
deleteDelete current member
bulk_upsertAdd/update members in bulk
MemberCustomSearchlistGet custom member filter list
detailsGet custom member filter details
insertAdd new custom member filter
updateUpdate custom member filter
deleteDelete custom member filter
identifyGet custom member filter that match the member information
MemberFormdetailsGet member field settings details
MemberGrouplistGet group list

Activity

ModelOperationDescription
CommentlistGet activity list
insertAdd new activity
updateUpdate activity
deleteDelete activity

Favorite

ModelOperationDescription
FavoritelistGet favorite list
insertAdd new favorite
deleteDelete favorite

Form

ModelOperationDescription
InquiryMessagelistGet form response list
detailsGet form response details
sendSend form response
updateUpdate form response
deleteDelete form response
bulk_upsertUpdate form response in bulk
InquiryFormlistGet form list
detailsGet form details
insertAdd new form
updateUpdate form
deleteDelete form
reportGet form report data

Notification

ModelOperationDescription
MagazineInfolistGet notification list
MagazineSubscriberlistGet subscriber list
subscribeSubscribe to notification
unsubscribeUnsubscribe from notification
MagazinesendSend notification
deleteDelete message
subscribeSubscribe to notification
*The usage of Magazine::subscribe has been deprecated. It is recommended to use MagazineSubscriber::subscribe with self_only or required_key parameters instead.
unsubscribeUnsubscribe from notification
*The usage of Magazine::unsubscribe has been deprecated. It is recommended to use MagazineSubscriber::unsubscribe with self_only or required_key parameters instead.
listGet message list

E-commerce

ModelOperationDescription
ECOrderSubscriptionlistGet subscription order list
detailsGet subscription order details
insertAdd subscription order
auth_sp_careerAuthenticate carrier payment user
ECOrderlistGet order list
detailsGet order details
totalGet order totals
purchasePurchase goods
cancelCancel order
insertAdd new order information
auth_sp_careerAuthenticate carrier payment user
ECDeliverylistGet delivery list
detailsGet delivery details
ECCartdetailsGet cart details
addAdd products to cart
updateUpdate products in cart
ECShoplistGet shop list
detailsGet shop details
ECProductlistGet product list
detailsGet product details
ECPaymentlistGet payment method list
detailsGet payment method details

Files

ModelOperationDescription
FilesuploadUpload files
temp_upload_urlRelease version: β / RCversionGet a temporary URL for uploading files directly to S3 via HTTP PUT

Tags

ModelOperationDescription
TaglistGet tag list
insertAdd new tag
updateUpdate a tag
deleteDelete tag
TagCategorylistGet tag category list

Table

ModelOperationDescription
MasterlistGet master list
insertAdd new master
updateUpdate master
deleteDelete master

Batch process

ModelOperationDescription
BatchwebhookExecute the batch process
listGet batch process list
check_batchGet batch process status

API

ModelOperationDescription
ApibulkExecute multiple API endpoint
listGet API list
openapi_dataGet the API openapi.json
request_apiExecute custom function via API (GET method)
request_api_postExecute custom function via API (POST method)
proxyProxies requests and responses. (GET method)
proxy_postProxies requests and responses. (POST method)
aggregateProxy multiple requests and responses. Responses are integrated and returned. (GET method)
add_siteAdd new Kuroco site
site_listKuroco site list
sso_credentialsProvides the authentication credentials for SSO between Kuroco sites.

API ManagementRelease version: β / RCversion

ModelOperationDescription
ApiManagementinsertAdd new API
updateUpdate API

Workflow

ModelOperationDescription
ApprovalflowlistGet approval workflow list
detailsGet approval workflow details
insertAdd approval workflow
updateUpdate approval workflow basic settings
update_flow_settingsUpdate approval workflow flow settings
deleteDelete approval workflow
reviewApprove or reject approval workflow data for the specified module type
Supported module types
  • Content
*The usage of Approvalflow::review has been deprecated. Instead, it is recommended to use Topics::accept/reject.
list_pendingGet approval workflow data list for the specified module type
Supported module types
  • Content
*The usage of Approvalflow::list_pending has been deprecated. Instead, it is recommended to use Topics::waiting_for_approval_list.
pending_detailGet approval workflow data details for the specified module type
Supported module types
  • Content
*The usage of Approvalflow::pending_detail has been deprecated. Instead, it is recommended to use Topics::waiting_for_approval_details.

Payments

ModelOperationDescription
StripecheckoutGenerate subscription payment URL
cancel_orderCancel subscription

Site

ModelOperationDescription
Siteupdate_siteUpdate site settings
listGet site list
create_backupCreate a site backup
get_backup_listGet backup list
generate_backup_download_urlGenerate download URL for a backup
delete_backupDelete a backup
get_env_edit_dataGet site configuration details
add_siteAdd new Kuroco site
update_env_infoUpdate site configuration
close_sitesClose multiple sites in bulk
sync_sitesSync multiple sites in bulk
backup_sitesCreate backups for multiple sites in bulk
sync_topicsSync content between sites
get_mng_dataGet management settings
update_mngUpdate management settings

Kuroco FrontRelease version: β / RCversion

ModelOperationDescription
KurocoFrontdeployDeploy to Kuroco Front from an artifact URL

AI

ModelOperationDescription
OpenAIchatGenerate answers using OpenAI. Requires AI to be enabled in the site settings.
rag_searchSearch content using RAG and generate answers using OpenAI. Requires AI to be enabled in the site settings. The target content structure must also have RAG (embedding model) enabled.
chat_contents_searchGenerate answers using OpenAI by referencing registered content. Requires AI to be enabled in the site settings. The target content structure must also have RAG (embedding model) enabled.
routing_rulesGet AI router routing rules configuration. Requires AI to be enabled in the site settings.

Spider

ModelOperationDescription
SpiderHistorylistGet web crawler execution history list. The Spider feature is available when AI is enabled in the site settings.
detailsGet web crawler execution details
logsGet logs of web crawler execution
SpiderinsertCreate a new web crawler configuration
updateUpdate an existing web crawler configuration
webhookExecute web crawler process

Custom processingRelease version: β / RCversion

ModelOperationDescription
CustomProcessinglistGet custom processing list
detailsGet custom processing details
insertAdd new custom processing
updateUpdate custom processing
deleteDelete custom processing
validateValidate and test-execute custom processing

Integrations

ModelOperationDescription
EmailRelease version: β / RCversionsendSend an email
LineRelease version: β / RCversionsendSend a LINE message. Requires LINE integration to be enabled in the site settings.
TeamsRelease version: β / RCversionsendSend a message to Microsoft Teams. Requires Microsoft Teams integration to be enabled in the site settings.
SlackRelease version: β / RCversionsendSend a message to Slack. Requires Slack integration to be enabled in the site settings.
getGet a Slack message. Requires Slack integration to be enabled in the site settings.
EdgeIntegrationprocessProcess edge integration data
listGet edge integration list
detailsGet edge integration details

Support

If you have any other questions, please contact us or check out Our Slack Community.