{
  "args": {
    "app_id": {
      "desc": "",
      "required": false
    },
    "datastore": {
      "desc": "name of the datastore",
      "required": true,
      "type": "string"
    },
    "items": {
      "desc": "attribute names and values of the items; limit of 25",
      "example": "[{\"id\": \"7c6dd137\", \"favourite_meal\": \"Shawarma\", \"reason\": \"Who doesn't like Shawarma?\"}]",
      "required": true,
      "type": "array"
    }
  },
  "desc": "Creates or replaces existing items in bulk",
  "errors": {
    "app_not_hosted": "The app developer is not using a Slack-hosted environment. App datastores are exclusively available for Slack-hosted apps.",
    "datastore_error": "Datastore error",
    "datastore_migration_in_progress": "The datastore is currently unavailable due to an in progress Enterprise org migration.",
    "free_team_not_allowed": "Datastore put not allowed on a free team.",
    "invalid_app_id": "The app\\_id provided is not valid for team and user.",
    "invalid_datastore": "The provided datastore is invalid.",
    "partial_failure": "some items failed to be updated",
    "restricted_plan_level": "Feature is not available on this team",
    "team_quota_exceeded": "Total number of requests exceeded team quota.",
    "unknown_method": "This method does not exist"
  },
  "rate_limit": {
    "label": "Tier 3: 50+ per minute",
    "url": "https://docs.slack.dev/apis/web-api/rate-limits"
  },
  "scopes": {
    "bot": [
      {
        "name": "datastore:write",
        "url": "https://docs.slack.dev/reference/scopes/datastore.write"
      }
    ]
  }
}

