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の一覧を取得するAPIのapisのキー名です。
kintone REST APIの一覧を取得する
たとえば、1件のレコードを取得するAPI(/k/v1/record.json [GET])の場合、キー名は「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.api()を使ったリクエスト

kintone.api()の詳細は、次のページを参照してください。
kintone REST APIリクエストを送信する

1
await kintone.api(kintone.api.url('/k/v1/apis/record/get.json'), 'GET', {});