メインコンテンツへスキップ
POST
/
api
/
v1
/
organizations
/
{organizationId}
/
workspaces
/
custom
Create custom service and workspace
curl --request POST \
  --url https://api.itmc.i.moneyforward.com/api/v1/organizations/{organizationId}/workspaces/custom \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "serviceId": 1,
  "workspaceName": "admina",
  "customWorkspaceType": "google_sheet"
}
'
import requests

url = "https://api.itmc.i.moneyforward.com/api/v1/organizations/{organizationId}/workspaces/custom"

payload = {
"serviceId": 1,
"workspaceName": "admina",
"customWorkspaceType": "google_sheet"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({serviceId: 1, workspaceName: 'admina', customWorkspaceType: 'google_sheet'})
};

fetch('https://api.itmc.i.moneyforward.com/api/v1/organizations/{organizationId}/workspaces/custom', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.itmc.i.moneyforward.com/api/v1/organizations/{organizationId}/workspaces/custom",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'serviceId' => 1,
'workspaceName' => 'admina',
'customWorkspaceType' => 'google_sheet'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.itmc.i.moneyforward.com/api/v1/organizations/{organizationId}/workspaces/custom"

payload := strings.NewReader("{\n \"serviceId\": 1,\n \"workspaceName\": \"admina\",\n \"customWorkspaceType\": \"google_sheet\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.itmc.i.moneyforward.com/api/v1/organizations/{organizationId}/workspaces/custom")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"serviceId\": 1,\n \"workspaceName\": \"admina\",\n \"customWorkspaceType\": \"google_sheet\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.itmc.i.moneyforward.com/api/v1/organizations/{organizationId}/workspaces/custom")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"serviceId\": 1,\n \"workspaceName\": \"admina\",\n \"customWorkspaceType\": \"google_sheet\"\n}"

response = http.request(request)
puts response.read_body
{
  "service": {
    "id": 1,
    "name": "Google",
    "uniqueName": "google",
    "url": "https://google.com",
    "isEmployeeMasterService": true,
    "adminUrl": "https://admin.google.com/u/0/ac/home",
    "userManagementUrl": "https://admin.google.com/u/0/ac/users",
    "serviceTopUrl": "https://workspace.google.com/products/admin/",
    "guidanceUrl": "https://notion.link/google",
    "serviceAlternateUrls": [
      "www.slides.google.com",
      "www.docs.google.com",
      "www.sheets.google.com"
    ],
    "aggreTypes": [
      {
        "name": "aggregateAll",
        "authenTypes": [
          {
            "name": "oauth",
            "requiredAttributes": [
              "username",
              "password"
            ],
            "optionalAttributes": [
              "secretKey"
            ],
            "permittedAttributes": [
              "aggreKey"
            ],
            "separatelyUpdatableAttributes": [
              "groups"
            ],
            "permissions": [
              "read-write",
              "read"
            ],
            "variant": "enterprisePlan"
          }
        ]
      }
    ],
    "canDeleteAccount": false,
    "canDeactivateAccount": false,
    "canAggregateSpend": false,
    "canAggregateFiles": false,
    "canManageFilePermissions": false,
    "canOnlyAggregatePublicFiles": false,
    "canAggregateDevices": false,
    "canPerformMatching": true,
    "canProvisionAccount": false,
    "isCustomService": false,
    "isIdentityProvider": false,
    "serviceMeta": {
      "id": 1,
      "vendorName": "Example Vendor",
      "vendorCountryOfOrigin": "Japan",
      "termsOfUseUrl": "https://example.com",
      "privacyPolicyUrl": "https://example.com",
      "dataSecurityPolicyUrl": "https://example.com",
      "certifications": [
        {
          "name": "Example",
          "url": "https://example.com"
        }
      ]
    }
  },
  "workspace": {
    "id": 1,
    "organizationId": 1,
    "serviceId": 1,
    "authenType": "api",
    "workspaceName": "iggre",
    "aggreKey": "iggre",
    "lastExecutionStatus": "processing",
    "lastExecutionTime": "2020-11-11 10:00:00",
    "lastUsedAt": "2020-11-11 10:00:00",
    "lastExecutionResultId": "SUCCESS",
    "lastExecutionResultCode": 200,
    "lastExecutionResultMessage": "NOT_FOUND",
    "provisioningCredentialEnabled": false,
    "description": "Description of the workspace",
    "showDescription": false,
    "isCustomWorkspace": false,
    "deviceAggregationStatus": "finished",
    "service": {
      "id": 1,
      "name": "Google",
      "uniqueName": "google",
      "url": "https://google.com",
      "isEmployeeMasterService": true,
      "adminUrl": "https://admin.google.com/u/0/ac/home",
      "userManagementUrl": "https://admin.google.com/u/0/ac/users",
      "serviceTopUrl": "https://workspace.google.com/products/admin/",
      "guidanceUrl": "https://notion.link/google",
      "serviceAlternateUrls": [
        "www.slides.google.com",
        "www.docs.google.com",
        "www.sheets.google.com"
      ],
      "aggreTypes": [
        {
          "name": "aggregateAll",
          "authenTypes": [
            {
              "name": "oauth",
              "requiredAttributes": [
                "username",
                "password"
              ],
              "optionalAttributes": [
                "secretKey"
              ],
              "permittedAttributes": [
                "aggreKey"
              ],
              "separatelyUpdatableAttributes": [
                "groups"
              ],
              "permissions": [
                "read-write",
                "read"
              ],
              "variant": "enterprisePlan"
            }
          ]
        }
      ],
      "canDeleteAccount": false,
      "canDeactivateAccount": false,
      "canAggregateSpend": false,
      "canAggregateFiles": false,
      "canManageFilePermissions": false,
      "canOnlyAggregatePublicFiles": false,
      "canAggregateDevices": false,
      "canPerformMatching": true,
      "canProvisionAccount": false,
      "isCustomService": false,
      "isIdentityProvider": false,
      "serviceMeta": {
        "id": 1,
        "vendorName": "Example Vendor",
        "vendorCountryOfOrigin": "Japan",
        "termsOfUseUrl": "https://example.com",
        "privacyPolicyUrl": "https://example.com",
        "dataSecurityPolicyUrl": "https://example.com",
        "certifications": [
          {
            "name": "Example",
            "url": "https://example.com"
          }
        ]
      }
    },
    "workspaceMeta": {
      "id": 1,
      "workspaceId": 1,
      "organizationId": 1,
      "note": "Example note",
      "businessImpactLevel": "low",
      "dataStoreRegion": "ap-northeast-1",
      "piiEnabled": false,
      "pii": "Example note",
      "confidentialInfo": "confidential",
      "securityImpactLevel": "low",
      "vendorName": "Example Vendor",
      "vendorRelationship": "Example Vendor Relationship",
      "vendorPhone": "12345567890",
      "vendorMailAddress": "Example Vendor Mail address"
    },
    "billingManagers": [
      {
        "id": 1,
        "avatar": "avatar",
        "displayName": "Example name",
        "primaryEmail": "Example email"
      }
    ],
    "peopleInCharge": [
      {
        "id": 1,
        "avatar": "avatar",
        "displayName": "Example name",
        "primaryEmail": "Example email"
      }
    ],
    "creator": {
      "id": 1,
      "email": "foo.bar@example.com",
      "name": "foo.bar",
      "location": "jp",
      "roles": [
        {
          "id": 1,
          "name": "Admin"
        }
      ],
      "status": "active"
    },
    "accountCount": 123,
    "identityProviderWorkspaceId": 123,
    "customWorkspaceType": "google_sheet"
  },
  "isNewService": true
}

承認

Authorization
string
header
必須

For authenticated requests, set the Authorization: Bearer your_api_key parameter in the header.
You can create and manage your API Keys by visiting the API Keys tab in the Settings page of your organization in Admina

パスパラメータ

organizationId
number
必須

ボディ

application/json
serviceId
number
必須

Standard service ID or custom service ID belonging to organization

:

1

workspaceName
string
必須

Name to give to the workspace

:

"admina"

customWorkspaceType
enum<string>
必須
利用可能なオプション:
google_sheet,
manual_import
:

"google_sheet"

レスポンス

201 - application/json
service
object
必須
workspace
object
必須
isNewService
boolean
必須
read-only
最終更新日 2026年7月10日