NILTO Developer APIリファレンス (1.0.5)

Download OpenAPI specification:

Developer APIを利用して、NILTOで作成したコンテンツデータを取得することができます。

基本情報

APIベースURL

https://cms-api.nilto.com/v1

APIキー認証

認証のためにAPIキーをリクエストヘッダーに含めて送信してください。 スペース設定のAPIキー画面で取得することができます。

key value
X-NILTO-API-KEY APIキー

APIキーには、公開コンテンツのみ取得できるAPIキーと、下書きも含めて取得できるAPIキーがあります。用途に合わせて使い分けてください。

使用例

コンテンツ一覧を取得

基本

モデルがnewsであるコンテンツ一覧を50件目から最大10件を取得

/contents?model=news&offset=50&limit=10

上記のレスポンス例:

{
    "total": 345,
    "offset": 50,
    "limit": 10,
    "data": [
        {
            "_id": 1234567890,
            "_model": "news",
            "_title": "Hello World",
            "_created_at": "2023-01-23T04:50:00Z",
            "_updated_at": "2023-01-23T04:50:00Z",
            "_published_at": "2023-01-23T04:50:00Z",
            "_status": "published",
            "field1": "value1",
            "field2": "value2"
        },]
}

コンテンツ参照フィールドcategoryで、IDが1234567890のコンテンツを参照しているコンテンツ一覧を取得

/contents?category[eq]=1234567890

日時を指定してコンテンツ一覧を取得

日時はISO 8601拡張形式で指定します。

更新日時が日本時間で2023年1月23日4時よりも新しいコンテンツの配列を取得

/contents?_updated_at[gt]=2023-01-23T04:00:00+09:00

上記と同じ日時をUTC時間(2023年1月22日19時)で指定する場合

/contents?_updated_at[gt]=2023-01-22T19:00:00Z

キーワード検索でコンテンツ一覧を取得

特定のフィールドに指定したキーワードを含むコンテンツ一覧を取得する場合、containsフィルターを使用します。

フレキシブルテキストフィールドbodykeywordを含むコンテンツの配列を取得

/contents?body[contains]=keyword

複数のキーワードをAND検索

/contents?body[contains]=keyword1,keyword2

フィールドセット内フィールドに対して条件指定してコンテンツ一覧を取得

フィールドセット内のフィールドは、フィールドセットLUIDとフィールドLUIDを.で連結して指定できます。

例: フィールドセットfield_set内のフィールドtextの内容がabcであるコンテンツ一覧を取得

/contents?field_set.text[eq]=abc

参照コンテンツのフィールドに対して条件指定してコンテンツ一覧を取得

参照しているコンテンツのフィールドは、フィールドLUIDを.で連結して指定できます。

例: コンテンツ参照フィールドcategoryで参照しているコンテンツのフィールドkeyの内容がreleaseであるコンテンツ一覧を取得

/contents?category.key[eq]=release

特定のコンテンツを取得

コンテンツIDが1234567890のコンテンツを取得

/contents/1234567890

上記のレスポンス例:

{
    "_id": 1234567890,
    "_model": "news",
    "_title": "Hello World",
    "_created_at": "2023-01-23T04:50:00Z",
    "_updated_at": "2023-01-23T04:50:00Z",
    "_published_at": "2023-01-23T04:50:00Z",
    "_status": "published",
    "field1": "value1",
    "field2": "value2"
}

コンテンツ参照の深度制限を変更してコンテンツを取得

depthパラメータを使用することで、参照するコンテンツのオブジェクトを取得する再帰深度を変更することができます。指定より深い参照は、オブジェクトではなくコンテンツIDになります。

コンテンツ参照フィールドのオブジェクトを取得しない場合

/contents/1234567890?depth=0

上記のレスポンス例:

{
    "_id": 1234567890,
    "content_reference": 2345678901
}

コンテンツ参照フィールドのオブジェクトを1階層まで取得する場合(デフォルト動作)

/contents/1234567890?depth=1

上記のレスポンス例:

{
    "_id": 1234567890,
    "content_reference": {
    /* 参照1階層目 */
        "_id": 2345678901,
        "content_reference": 3456789012
    }
}

コンテンツ参照フィールドのオブジェクトを3階層まで取得する場合

/contents/1234567890?depth=3

上記のレスポンス例:

{
    "_id": 1234567890,
    "content_reference": {
        /* 参照1階層目 */
        "_id": 2345678901,
        "content_reference": {
            /* 参照2階層目 */
            "_id": 3456789012,
            "content_reference": {
                /* 参照3階層目 */
                "_id": 4567890123,
                "content_reference": 5678901234
            }
        }
    }
}

詳細

IDとLUID

APIのリクエストパラメーターで、特定のオブジェクトを指定するとき、IDもしくはLUIDを使用します。

IDはシステムが定義する、グローバルでユニークなIDです。ユーザーが変更することはできません。

LUID (Locally Unique Identifier) はユーザーが定義するIDです。モデル/フィールドセットのLUIDはスペース内でユニークです。フィールドLUIDはモデル/フィールドセット内でユニークです。

オブジェクトごとの指定方法は以下になります。

オブジェクト 指定方法 変更 確認方法
モデル LUID モデル詳細ページ > 基本情報ダイアログ
フィールドセット LUID フィールドセット詳細ページ > 基本情報ダイアログ
フィールド LUID モデル(フィールドセット)詳細ページ > フィールド詳細ペイン
コンテンツ ID 不可 コンテンツ詳細ペイン > API出力確認ダイアログ

アーカイブされたコンテンツ・メディア

アーカイブされたコンテンツは、Developer APIで取得することはできません。 アーカイブされたコンテンツやメディアを参照しているフィールドは、値が空になります。

CDN

NILTOのDeveloper APIは、FastlyのCDNを経由してコンテンツ配信を行います。 キャッシュが存在する場合、コンテンツを安定的かつ高速に、世界各地からのリクエストに対して配信することができます。

キャッシュを利用するには、APIキーが「公開」ステータスのコンテンツのみをGETする設定であること等の条件を満たす必要があります。
設定方法等の詳細はドキュメントを参照ください。

一定時間あたりのリクエスト制限

Developer APIの品質を担保するため、オリジンサーバーへのリクエストは以下の値で制限されます。
この制限はAPIキーごとに適用され、CDNキャッシュがヒットした場合はカウントされません。

  • GET APIのレートリミット: 600回 / 1分
  • 書き込み API(POST / PUT / PATCH / DELETE)のレートリミット: 30回 / 1分

この制限を超えたリクエストは429エラーになります。このとき、次のリクエストが可能になるまでの秒数がretry-afterヘッダーで返されます。

サブスペース

サブスペース機能をご利用のスペースの場合、レスポンスに_spaceキーが含まれます。

値はスペースのLUIDで、親スペースの場合は_parentが固定で設定されています。

/contents?model=news&select=_id,_model,_title,_status,field1

上記のレスポンス例:

{
    "total": 345,
    "offset": 0,
    "limit": 100,
    "data": [
    {
        "_id": 1234567890,
        "_model": "news",
        "_title": "Hello World",
        "_space": "_parent",
        "field1": "value_1",
    },
    {
        "_id": 1234567891,
        "_model": "news",
        "_title": "Sample Demo News",
        "_space": "demo",
        "field1": "value_2",
    },]
}

スペースの絞り込み

スペースLUIDがdemoのスペース内コンテンツのみ取得したい場合、spaceキーを指定します。

/contents?model=news&select=_id,_model,_title,_status,field1&space=demo

上記のレスポンス例:

{
    "total": 123,
    "offset": 0,
    "limit": 100,
    "data": [
    {
        "_id": 1234567891,
        "_model": "news",
        "_title": "Sample Demo News",
        "_space": "demo",
        "field1": "value_2",
    },]
}

既知の不具合

Developer APIに関する既知の不具合は以下のとおりです。

  • サブ言語の翻訳しないフィールドに対してフィルター条件を指定したとき、正しくフィルタリングされないことがある。
  • フィルター条件を指定したとき、APIキーが対象とするステータス以外のコンテンツの内容でヒットしてしまう。

Contents GET API

レスポンスボディ

NILTO DeveloperAPI が返すレスポンスデータは、システムで自動設定されるシステムプロパティとユーザーが独自に定義したフィールドプロパティにより構成されます。

{
    "_id": 1234567890,
    "_model": "news",
    "_title": "Hello World",
    "_created_at": "2023-01-23T04:50:00Z",
    "_updated_at": "2023-01-23T04:50:00Z",
    "_published_at": "2023-01-23T04:50:00Z",
    "_last_published_at": "2023-01-23T04:50:00Z",
    "_status": "published",
    "_space": "_parent",
    "flexibletext_field": "<div><h2>abcedf</h2><p>abcedf</p><ul><li>abcedf</li></ul></div>",
    "singleline_field": "foobar",
    "boolean_field": true
}

システムプロパティ

APIレスポンスに共通で含まれる、システム管理のプロパティです。これらのプロパティは _ (アンダースコア) から始まります。

_id

コンテンツを一位に識別するための一意なID。

_model

コンテンツが属するモデルのLUID。

_title

ンテンツのタイトル。モデルに設定された「タイトル用フィールド」の値が自動的に反映されます。

_created_at

コンテンツが作成された日時。日時は ISO 8601 形式のUTC(協定世界時)で表現されます。

_updated_at

コンテンツが最後に更新された日時。日時は ISO 8601 形式のUTCで表現されます。

_published_at

コンテンツがはじめて公開された日時。下書き状態の場合は null になることがあります。日時は ISO 8601 形式のUTCで表現されます。
一度公開されたことがあるコンテンツは、その後いかなる操作をしても _published_at の値が変わることはありません。

_last_published_at

コンテンツが最後に公開された日時。下書き状態の場合は null になることがあります。日時は ISO 8601 形式のUTCで表現されます。
2025年6月25日以前に最後に公開されたコンテンツは _published_at と同内容がレスポンスされます。

_status

コンテンツの公開状態を示します。
draft: 下書きデータのみ
published: 公開データのみ
published_draft: 公開中かつ下書きデータもある

_space

サブスペース機能が有効な場合に、コンテンツが所属するスペースのLUIDを示します。

フィールドプロパティ

ユーザーが独自に定義したフィールドのデータです。キーには各フィールドのLUID (Locally Unique Identifier) が、値にはユーザーが管理画面で入力した内容がレスポンスされます。

フィールド種類ごとのレスポンスデータを例示します。

フレキシブルテキスト

flexibletext_field[format]=htmlを指定した場合(デフォルト動作)

"flexibletext_field": "<div><h2>abcedf</h2><p>abcedf</p><ul><li>abcedf</li></ul></div>"

flexibletext_field[format]=textを指定した場合

"flexibletext_field": "abcedf\r\nabcedf\r\nabcedf"

1行テキスト

"singleline_field": "foobar"

複数行テキスト

"multiline_field": "foobar\r\nfoobar"

ブーリアン

"boolean_field": true

単一選択

"singleselect_field": "value"

複数選択

"multiselect_field": [
    "value1",
    "value2",
    "value3"
]

日時

"datetime_field": "2023-01-23T04:50:00Z"

メディア

"media_field": {
    "url": "https://cms-assets.nilto.com/spaces/1234567890/media/2345678901/_/abc.png",
    "alt": "alternative text"
}

コンテンツ参照

"reference_field": {
    "_id": 2345678901,
    "_title": "Hello World2",
    "_created_at": "2023-01-23T04:50:00Z",
    "_updated_at": "2023-01-23T04:50:00Z",
    "_published_at": "2023-01-23T04:50:00Z",
    "_status": "published",
    "singleline_field": "foobar"
}

繰り返し

繰り返しは、フィールドの集合であるオブジェクトの配列で表現されます。

"repeat_field": [
    {
        "singleline_field": "foo",
        "boolean_field": true
    },
    {
        "singleline_field": "foobar",
        "boolean_field": false
    },
    {
        "singleline_field": "foobarbaz",
        "boolean_field": true
    }
]

組み合わせ

組み合わせは、フィールドセットのデータであるオブジェクトの配列で表現されます。 フィールドセット内のluidは指定したLUIDです。fieldsはフィールドセット内フィールドです。

"combination_field": [
    {
        "luid": "field_set_a",
        "fields": {
            "singleline_field": "foo",
            "boolean_field": true
        }
    },
    {
        "luid": "field_set_b",
        "fields": {
            "datetime_field": "2023-01-23T04:50:00Z",
            "singleselect_field": "value"
        }
    },
    {
        "luid": "field_set_a",
        "fields": {
            "singleline_field": "foobar",
            "boolean_field": false
        }
    }
]

フィールドセット(モデルに直接組み込んだ場合)

"field_set": {
    "singleline": "foobar",
    "boolean": true
}

クエリパラメータ

演算子を用いて、コンテンツを特定の条件で絞り込むことができます。
各演算子の詳細はコンテンツの配列を取得をご確認ください。

フィールド種類ごとのフィルター

ユーザーが独自に定義したフィールドに対して、フィールドの種類によって利用できる演算子が異なります。

フィールド種類 [eq] [in] [lt] [lte] [gt] [gte] [contains] [has]
フレキシブルテキスト N/A N/A N/A N/A N/A N/A 文字列 N/A
1行テキスト 文字列 文字列 N/A N/A N/A N/A 文字列 N/A
複数行テキスト 文字列 文字列 N/A N/A N/A N/A 文字列 N/A
ブーリアン true/false N/A N/A N/A N/A N/A N/A N/A
単一選択 文字列 文字列 N/A N/A N/A N/A N/A N/A
複数選択 N/A N/A N/A N/A N/A N/A N/A 文字列
日時 N/A N/A 日時 日時 日時 日時 N/A N/A
メディア N/A N/A N/A N/A N/A N/A N/A N/A
コンテンツ参照 コンテンツID コンテンツID N/A N/A N/A N/A N/A N/A
繰り返し N/A N/A N/A N/A N/A N/A N/A N/A
組み合わせ N/A N/A N/A N/A N/A N/A N/A N/A
フィールドセット N/A N/A N/A N/A N/A N/A N/A N/A

高度なフィルター指定

コンテンツ参照フィールドに対する条件設定

参照しているコンテンツのフィールドに対して条件設定する場合、.に続けて参照先コンテンツのフィールドを指定することができます。

例1: 参照しているコンテンツ内の1行テキストフィールドに対して完全一致条件を指定

content_reference.singleline_field[eq]=foobar

例2: 参照しているコンテンツ内の日時テキストフィールドに対して条件指定

content_reference.datetime_field[gt]=2023-01-23T04:00:00+09:00

フィールドセットに対する条件設定

フィールドセット内部のフィールドに対して条件設定する場合、.に続けてフィールドを指定することができます。

例1: フィールドセット内の1行テキストフィールドに対して完全一致条件を指定

field_set.singleline_field[eq]=foobar

例2: フィールドセット内の日時テキストフィールドに対して条件指定

field_set.datetime_field[gt]=2023-01-23T04:00:00+09:00

繰り返しフィールドに対する条件設定

繰り返しフィールドに対して、繰り返し内で条件に合致するフィールドを1件以上含んでいるか否かを条件指定し、絞り込むことができます。
条件設定する場合、.に続けてフィールドを指定します。
繰り返しフィールドに対する条件設定は[eq]フィルターのみ対応しています。

例1: 繰り返しフィールド内の1行テキストフィールドに対して完全一致条件を指定

repeat.singleline_field[eq]=foobar

例2: 繰り返しフィールド内のコンテンツ参照フィールドに対してコンテンツIDを指定

repeat.content_reference[eq]=1234567890

※ 参照コンテンツ内のフィールドを条件指定することはできません

コンテンツの配列を取得

指定した条件に合うコンテンツの配列を取得します。

Authorizations:
X-NILTO-API-KEY
query Parameters
select
string
Example: select=_id,description

データを取得するフィールドを指定します。カンマ区切りで複数指定できます。省略するとすべてのフィールドを取得します。

depth
integer [ 0 .. 3 ]
Default: 1
Example: depth=3

参照するコンテンツのオブジェクトを取得する深度を指定します。

order
string
Example: order=pickup,-_title

並べ替える基準とするフィールドのLUIDを指定します。カンマ区切りで複数指定できます。降順にするにはLUIDの先頭に-をつけます。

limit
integer [ 1 .. 100 ]
Default: 100
Example: limit=10

取得する件数の上限を指定します。

offset
integer >= 0
Default: 0
Example: offset=10

何件目から取得するかを指定します。

model
string
Example: model=blog,news

取得対象とするモデルのLUIDを指定します。カンマ区切りで複数指定できます。省略するとすべてのモデルのコンテンツを取得対象とします。

lang
string
Example: lang=ja

取得したいコンテンツの言語を指定します。省略するとメイン言語の内容を取得します。

space
string
Example: space=_parent

サブスペース機能をご利用中にのみ有効なキーです。取得対象とするスペースLUIDを指定します。親スペースのLUIDは_parentで固定です。

contains
string
Example: contains=keyword1,keyword2

いずれかのテキストフィールドに指定した値が含まれるコンテンツを取得します。カンマ区切りでAND検索になります。 langパラメーターを指定している場合、その言語の内容と比較します。

{field_luid}[format]
string
Default: "html"
Enum: "html" "text"
Example: {field_luid}[format]=text

フレキシブルテキストのデータ形式を指定します。

{field_luid}[eq]
string
Example: {field_luid}[eq]=value

フィールドの内容が指定した値と一致するコンテンツのみ取得します。 langパラメーターを指定している場合、その言語の内容と比較します。

{field_luid}[in]
string
Example: {field_luid}[in]=value1,value2,value3

フィールドの値が指定した値のいずれかに一致するコンテンツのみ取得します。カンマ区切りで複数指定できます。 langパラメーターを指定している場合、その言語の内容と比較します。

{field_luid}[lt]
string
Example: {field_luid}[lt]=2023-01-23T04:50:00Z

フィールドの内容が指定した値より小さいコンテンツのみ取得します。 langパラメーターを指定している場合、その言語の内容と比較します。

{field_luid}[lte]
string
Example: {field_luid}[lte]=2023-01-23T04:50:00Z

フィールドの内容が指定した値以下のコンテンツのみ取得します。 langパラメーターを指定している場合、その言語の内容と比較します。

{field_luid}[gt]
string
Example: {field_luid}[gt]=2023-01-23T04:50:00Z

フィールドの内容が指定した値より大きいコンテンツのみ取得します。 langパラメーターを指定している場合、その言語の内容と比較します。

{field_luid}[gte]
string
Example: {field_luid}[gte]=2023-01-23T04:50:00Z

フィールドの内容が指定した値以上のコンテンツのみ取得します。 langパラメーターを指定している場合、その言語の内容と比較します。

{field_luid}[contains]
string
Example: {field_luid}[contains]=keyword1,keyword2

フィールドの内容に指定した値が含まれるコンテンツのみ取得します。カンマ区切りでAND検索になります。 langパラメーターを指定している場合、その言語の内容と比較します。

{field_luid}[has]
string
Example: {field_luid}[has]=value

複数選択フィールドに対し、指定した値が含まれるコンテンツのみ取得します。指定する値は「表示名」ではなく「値」を使用します。 langパラメーターを指定している場合、その言語の内容と比較します。

Responses

Request samples

curl -H 'X-NILTO-API-KEY:0000000000000000000000' \
'https://cms-api.nilto.com/v1/contents?model=news&field1[eq]=true'

Response samples

Content type
application/json
{
  • "total;": 34,
  • "offset": 20,
  • "limit": 10,
  • "data": [
    ]
}

コンテンツを取得

指定したIDのコンテンツを取得します。

Authorizations:
X-NILTO-API-KEY
path Parameters
content_id
required
integer
Example: 1234567890

取得するコンテンツのID

query Parameters
select
string
Example: select=_id,description

データを取得するフィールドを指定します。カンマ区切りで複数指定できます。省略するとすべてのフィールドを取得します。

depth
integer [ 0 .. 3 ]
Default: 1
Example: depth=3

参照するコンテンツのオブジェクトを取得する深度を指定します。

lang
string
Example: lang=ja

取得したいコンテンツの言語を指定します。省略するとメイン言語の内容を取得します。

{field_luid}[format]
string
Default: "html"
Enum: "html" "text"
Example: {field_luid}[format]=text

フレキシブルテキストのデータ形式を指定します。

Responses

Request samples

curl -H 'X-NILTO-API-KEY:0000000000000000000000' \
'https://cms-api.nilto.com/v1/contents/1234567890?lang=ja'

Response samples

Content type
application/json
{
  • "_id": "1234567890",
  • "_model": "news",
  • "_title": "Hello World",
  • "_created_at": "2023-01-23T04:50:00Z",
  • "_updated_at": "2023-01-23T04:50:00Z",
  • "_published_at": "2023-01-23T04:50:00Z",
  • "_last_published_at": "2023-01-23T04:50:00Z",
  • "_status": "published",
  • "_space": "_parent",
  • "flexibletext_field": "<div><h2>abcedf</h2><p>abcedf</p><ul><li>abcedf</li></ul></div>",
  • "singleline_field": "foobar",
  • "multiline_field": "foo\nbar",
  • "boolean_field": true,
  • "singleselect_field": "value1",
  • "datetime_field": "2023-01-23T04:50:00Z",
  • "media_field": {},
  • "repeat_field": [
    ],
  • "combination_field": [
    ],
  • "reference_field": {
    },
  • "block1": {
    },
  • "block2": {
    }
}

Contents 書き込みAPI(ベータ版)

ベータ版機能について

この機能はベータ版での提供となっており、動作が不安定な場合があります。
また、今後互換性を保たない変更が加わる可能性があります。

あらかじめご了承いただいた上でのご利用をお願いいたします。

フィールド種類ごとのリクエストデータ

フレキシブルテキスト

※現在、フレキシブルテキストは未対応です。

1行テキスト

任意の文字列を指定してください。

"fields": {
    "singleline_field": "foobar"
}

複数行テキスト

任意の文字列を指定してください。改行コードを使用することができます。

"fields": {
    "multiline_field": "foobar\r\nfoobar"
}

ブーリアン

真偽値を指定してください。

{
    "fields":{
        "{LUID}":true
    }
}

単一選択

フィールドに設定した値を指定してください。「表示名」ではなく「値」を指定してください。

{
    "fields":{
        "{LUID}":"value"
    }
}

複数選択

※現在、複数選択は未対応です。

日時

日時をISO 8601拡張形式で指定してください。

{
    "fields":{
        "{LUID}":"2023-01-23T04:50:00Z"
    }
}

メディア

メディアのIDを指定してください。

{
    "fields":{
        "{LUID}":123456789
    }
}

コンテンツ参照

参照先コンテンツのIDを指定してください。

{
    "fields":{
        "{LUID}":123456789
    }
}

繰り返し

繰り返しフィールドを配列で指定してください。 配列内は各フィールドをオブジェクト形式で指定してください。

{
    "fields":{
        "{繰り返しのLUID}":[
            {
                "{内包フィールドのLUID}":"1行テキスト",
                "{内包フィールドのLUID}":"複数行テキスト\n複数行テキスト"
            },
            {
                "{内包フィールドのLUID}":"1行テキスト",
                "{内包フィールドのLUID}":"複数行テキスト\n複数行テキスト"
            }
        ]
    }
}

フィールドセット

フィールドセット内の各フィールドをオブジェクト形式で指定してください。

{
    "fields":{
        "{フィールドセットのLUID}": {
            "{内包フィールドのLUID}":"1行テキスト",
            "{内包フィールドのLUID}":"複数行テキスト\n複数行テキスト"
        },
    }
}

組み合わせ

組み合わせに設定されたフィールドセットを配列で指定してください。 フィールドセットは"luid"にフィールドセットのLUIDを指定し、 "fields"にフィールドセット内の各フィールドをオブジェクト形式で指定してください。

{
    "fields":{
        "{組み合わせのLUID}":[
            {
                "luid":"{フィールドセットのLUID}",
                "fields":{
                    "{内包フィールドのLUID}":"1行テキスト",
                    "{内包フィールドのLUID}":"複数行テキスト\n複数行テキスト"          
                }
            },
            {
                "luid":"{フィールドセットのLUID}",
                "fields":{
                    "{内包フィールドのLUID}":"1行テキスト",
                    "{内包フィールドのLUID}":"複数行テキスト\n複数行テキスト"          
                }
            }
        ]
    }
}

コンテンツを作成

コンテンツを1件新規作成します。

Authorizations:
X-NILTO-API-KEY
query Parameters
model
required
string
Example: model=blog,news

登録対象とするモデルのLUIDを指定します。

published
boolean
Default: false
Example: published=true

コンテンツを公開状態で作成するかどうかを指定します。

space
string
Default: "_parent"
Example: space=demo

コンテンツを作成したいスペースのLUIDを指定します。

Request Body schema: application/json
fields
object (contentRequest)

{フィールドLUID: 入力値}の形式のオブジェクト。
言語キー未指定時はメイン言語として登録します。

fields[{lang_key}]
any

{フィールドLUID: 入力値}の形式のオブジェクト。
[] 内は利用中言語の言語キーを指定。同時に複数の言語キーを指定できます。

Responses

Request samples

Content type
application/json
{
  • "fields": {
    },
  • "fields[en]": {
    },
  • "fields[zh-CN]": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1234567890
}

コンテンツを置き換え

指定IDのコンテンツをリクエスト内容で置き換えます。

Authorizations:
X-NILTO-API-KEY
path Parameters
content_id
required
integer
Example: 1234567890

置き換えるコンテンツのID

query Parameters
model
required
string
Example: model=blog,news

登録対象とするモデルのLUIDを指定します。

published
boolean
Default: false
Example: published=true

置き換えるコンテンツを公開状態で作成するかどうかを指定します。

space
string
Default: "_parent"
Example: space=demo

置き換え対象コンテンツが存在しているスペースのLUIDを指定します。

Request Body schema: application/json
fields
object (contentRequest)

{フィールドLUID: 入力値}の形式のオブジェクト。
言語キー未指定時はメイン言語として登録します。

fields[{lang_key}]
any

{フィールドLUID: 入力値}の形式のオブジェクト。
[] 内は利用中言語の言語キーを指定。同時に複数の言語キーを指定できます。

Responses

Request samples

Content type
application/json
{
  • "fields": {
    },
  • "fields[en]": {
    },
  • "fields[zh-CN]": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1234567890
}

コンテンツの部分更新

指定IDのコンテンツの指定フィールドを更新します。
※現在、フレキシブルテキストには未対応です。

Authorizations:
X-NILTO-API-KEY
path Parameters
content_id
required
integer
Example: 1234567890

更新するコンテンツのID

query Parameters
model
required
string
Example: model=blog,news

登録対象とするモデルのLUIDを指定します。

published
boolean
Default: false
Example: published=true

更新対象の公開ステータスを指定します。
下書きデータを更新する場合false、公開データを更新する場合はtrueを指定します。

space
string
Default: "_parent"
Example: space=demo

更新対象コンテンツが存在しているスペースのLUIDを指定します。

Request Body schema: application/json
fields
object (contentRequest)

{フィールドLUID: 入力値}の形式のオブジェクト。
言語キー未指定時はメイン言語として登録します。

fields[{lang_key}]
any

{フィールドLUID: 入力値}の形式のオブジェクト。
[] 内は利用中言語の言語キーを指定。同時に複数の言語キーを指定できます。

Responses

Request samples

Content type
application/json
{
  • "fields": {
    },
  • "fields[en]": {
    },
  • "fields[zh-CN]": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1234567890
}

コンテンツの部分更新

指定IDのコンテンツの指定フィールドを更新します。
※現在、フレキシブルテキストには未対応です。

Authorizations:
X-NILTO-API-KEY
path Parameters
content_id
required
integer
Example: 1234567890

更新するコンテンツのID

query Parameters
model
required
string
Example: model=blog,news

登録対象とするモデルのLUIDを指定します。

published
boolean
Default: false
Example: published=true

更新対象の公開ステータスを指定します。
下書きデータを更新する場合false、公開データを更新する場合はtrueを指定します。

space
string
Default: "_parent"
Example: space=demo

更新対象コンテンツが存在しているスペースのLUIDを指定します。

Request Body schema: application/json
fields
object (contentRequest)

{フィールドLUID: 入力値}の形式のオブジェクト。
言語キー未指定時はメイン言語として登録します。

fields[{lang_key}]
any

{フィールドLUID: 入力値}の形式のオブジェクト。
[] 内は利用中言語の言語キーを指定。同時に複数の言語キーを指定できます。

Responses

Request samples

Content type
application/json
{
  • "fields": {
    },
  • "fields[en]": {
    },
  • "fields[zh-CN]": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1234567890
}

コンテンツを複製

指定IDのコンテンツを複製します。

複製されたコンテンツは下書きデータとして作成されます。
また、複製対象コンテンツが公開中と下書きの2つのステータスを持つ場合、下書きデータを優先して複製します。

Authorizations:
X-NILTO-API-KEY
path Parameters
content_id
required
integer
Example: 1234567890

複製するコンテンツのID

query Parameters
space
string
Default: "_parent"
Example: space=demo

複製対象コンテンツが存在しているスペースのLUIDを指定します。

Responses

Response samples

Content type
application/json
{
  • "id": 1234567890
}

Media 書き込みAPI(ベータ版)

ベータ版機能について

この機能はベータ版での提供となっており、動作が不安定な場合があります。
また、今後互換性を保たない変更が加わる可能性があります。

あらかじめご了承いただいた上でのご利用をお願いいたします。

メディアをアップロード

メディアファイルを1件アップロードします。

Authorizations:
X-NILTO-API-KEY
query Parameters
alt
string

alt属性の入力値を指定します。

Request Body schema: multipart/form-data
file
string <binary>

Responses

Request samples

curl -X POST -H 'X-NILTO-API-KEY:0000000000000000000000:' \
-F 'file=@abc.jpg' \
'https://cms-api.nilto.com/v1/media?alt=abcdef&alt[kr]=xyz'

Response samples

Content type
application/json

メディアの削除

指定IDのメディアを削除します。

Authorizations:
X-NILTO-API-KEY
path Parameters
media_id
required
integer
Example: 1234567890

削除するメディアのID

Responses

Response samples

Content type
application/json
{
  • "id": 1234567890
}