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', {});