Skip to content

skyizwhite/microcms-lisp-sdk

Repository files navigation

microcms-lisp-sdk

microcms-lisp-sdk is a Common Lisp SDK for interacting with microCMS via its REST API. It provides macros to define client functions for both list and object type endpoints.

⚙️ Configuration

Before making API requests, set your API key and service domain:

(setf microcms:*api-key* "your-api-key")
(setf microcms:*service-domain* "your-service-domain") ; e.g., "example" for example.microcms.io

🚀 Usage

List Type Endpoint

Use define-list-client macro to define functions for list-type content.

query and content must be provided as property list (plist), with keys written in kebab-case (e.g., :draft-key). The JSON response from the microCMS API are automatically converted into plist, with keys transformed from camelCase to kebab-case.

(microcms:define-list-client articles)

This will generate the following functions:

Function Name Arguments Description
get-articles-list (&key query) Get a list of articles.
get-articles-detail (id, &key query) Get details of a specific article by ID.
create-articles (content, &key query) Create a new article with the given content.
update-articles (id, content) Update an existing article by its ID with new content.
delete-articles (id) Delete an article by its ID.

Object Type Endpoint

Use define-object-client macro to define functions for object-type content.

(microcms:define-object-client profile)

This will generate the following functions:

Function Name Arguments Description
get-profile (&key query) Retrieve the profile object.
update-profile (content) Update the content of the profile object.

📄 License

MIT License © 2025 Akira Tempaku

About

microCMS Common Lisp SDK (unofficial)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published