{
  "opencollection": "1.0.0",
  "info": {
    "name": "Grist attachments service accounts API",
    "version": "1.0.1"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "service accounts",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all your service accounts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{gristhost}/api/service-accounts"
          },
          "docs": "This lists all your service accounts with their details.\n"
        },
        {
          "info": {
            "name": "Create a service account",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{gristhost}/api/service-accounts",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This creates a new service account with a new API key.\n"
        },
        {
          "info": {
            "name": "Get a service account's details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{gristhost}/api/service-accounts/:saId",
            "params": [
              {
                "name": "saId",
                "value": "",
                "type": "path",
                "description": "A service account id"
              }
            ]
          },
          "docs": "This reports the details of a service account.\n"
        },
        {
          "info": {
            "name": "Modify a service account",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://{gristhost}/api/service-accounts/:saId",
            "params": [
              {
                "name": "saId",
                "value": "",
                "type": "path",
                "description": "A service account id"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This updates a service account's label, description or expiration date.\n"
        },
        {
          "info": {
            "name": "Delete a service account",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{gristhost}/api/service-accounts/:saId",
            "params": [
              {
                "name": "saId",
                "value": "",
                "type": "path",
                "description": "A service account id"
              }
            ]
          },
          "docs": "This deletes a given service account.\n"
        },
        {
          "info": {
            "name": "Generate a new service account's api key",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{gristhost}/api/service-accounts/:saId/apikey",
            "params": [
              {
                "name": "saId",
                "value": "",
                "type": "path",
                "description": "A service account id"
              }
            ]
          },
          "docs": "This renews an api key of a given service account.\nUseful especially to change the API key when it has been leaked.\n"
        },
        {
          "info": {
            "name": "Delete a service account's api key",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{gristhost}/api/service-accounts/:saId/apikey",
            "params": [
              {
                "name": "saId",
                "value": "",
                "type": "path",
                "description": "A service account id"
              }
            ]
          },
          "docs": "Deletes the API key for a service account. The service account will\nno longer be able to authenticate until a new key is generated.\n"
        }
      ]
    }
  ],
  "bundled": true
}