kintone REST API のスキーマ情報を取得する

目次

kintone REST API のスキーマ情報を取得する

指定した kintone REST API のスキーマ情報を取得します。
次の API のスキーマ情報は取得できません。

URL

https://sample.cybozu.com/k/v1/apis/API_ID.json

パスパラメーター
パラメーター名 説明
API の ID スキーマ情報を取得する API の ID
ID は kintone REST API の一覧を取得するapis のキー名です。
たとえば 1 件のレコードを取得する API の場合、キー名は「record/get」で URL のパスは「https://sample.cybozu.com/k/v1/apis/record/get.json」です。

HTTP メソッド

GET

必要なアクセス権

なし

認証情報は不要です。

リクエスト

パラメーター

なし

リクエストの例
URL

https://sample.cybozu.com/k/v1/apis/record/get.json

ヘッダー

なし

レスポンス

スペース・ピープル・ゲストスペース機能を無効にしている場合でも、それらの API の情報を取得します。

プロパティ名 値の種類 内容
id 文字列 kintone REST API の API の ID
baseUrl 文字列 API を実行するときの基本となる URL
path 文字列 API のパス
baseUrlpath を結合した値が API の URL です。
httpMethod 文字列 API を実行するための HTTP メソッド
request オブジェクト API リクエストのスキーマ情報
JSON Schema で表現されます。
response オブジェクト API レスポンスのスキーマ情報
JSON Schema で表現されます。
schemas オブジェクト API で共通で使用するスキーマ情報一覧
プロパティ名は、スキーマ情報を表す文字列です。
JSON Schemaの $ref で参照します。
レスポンスの例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{
  "id": "records/get",
  "baseUrl": "https://sample.cybozu.com/k/v1/",
  "path": "records.json",
  "httpMethod": "GET",
  "request": {
    "type": "object",
    "required": ["app"],
    "properties": {
      "app": {
        "type": "string",
        "format": "long"
      },
      "fields": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "query": {
        "type": "string",
        "format": "query"
      },
      "totalCount": {
        "format": "boolean",
        "type": "string"
      }
    }
  },
  "response": {
    "type": "object",
    "properties": {
      "records": {
        "type": "array",
        "items": {
          "type": "object",
          "patternProperties": {
            "*": {
              "anyOf": [
                { "$ref": "CalcSimpleValue" },
                { "$ref": "CategorySimpleValue" }
                // ...
              ],
              "type": "object"
            }
          }
        }
      },
      "totalCount": {
        "format": "long",
        "type": "string"
      }
    }
  },
  "schemas": {
    "SingleLineTextSimpleValue": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["CATEGORY", "CREATED_TIME"]
        },
        "value": { "type": "string" }
      }
    },
    "MultipleLineTextSimpleValue": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["CATEGORY", "CREATED_TIME"]
        },
        "value": { "type": "string" }
      }
    }
    // 省略
  }
}

JSON Schema について

上記の request、response、schemas で使用する JSON Schema は、draft v4 を基準とします。
core と validation を使用し、hyper schema は使用しません。

type と format

kintone のパラメーターの制限を表現するために、JSON Schema で定義されている format に加えて、次の format を定義しています。
kintone 独自の format は、今後追加される可能性があります。

type format 説明
string long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 の範囲の整数型
string locale "", "en", "ja" or "zh" の文字列
string boolean "true" or "false" の文字列
string email Email 形式の文字列
string number 実数型
string query kintoneクエリ記法
クエリ記法は、 kintone API のクエリの書き方の基本 を参照してください。
string date-time ISO 形式の日時文字列
string timezone タイムゾーンを示す文字列

ファイル API の Schema 取得

ファイルアップロード API

JSON Schema の request オブジェクトには、kintone の内部の型情報が入ります。
実際のリクエストは、multipart/form-data 形式で送信してください。

ファイルダウンロード API

JSON Schema の response オブジェクトは、空が返ります。
実際のリクエストではファイルがダウンロードされます。

サンプルコード

curl を使ったリクエスト
1
curl -X GET 'https://sample.cybozu.com/k/v1/apis/record/get.json
kintone REST API リクエストを送信する API を使ったリクエスト
1
await kintone.api(kintone.api.url('/k/v1/apis/record/get.json'), 'GET', {});