{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2018-10-26",
    "endpointPrefix": "api.detective",
    "jsonVersion": "1.1",
    "protocol": "rest-json",
    "serviceFullName": "Amazon Detective",
    "serviceId": "Detective",
    "signatureVersion": "v4",
    "signingName": "detective",
    "uid": "detective-2018-10-26"
  },
  "operations": {
    "AcceptInvitation": {
      "http": {
        "method": "PUT",
        "requestUri": "/invitation"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn"
        ],
        "members": {
          "GraphArn": {}
        }
      }
    },
    "CreateGraph": {
      "http": {
        "requestUri": "/graph"
      },
      "input": {
        "type": "structure",
        "members": {
          "Tags": {
            "shape": "S4"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "GraphArn": {}
        }
      }
    },
    "CreateMembers": {
      "http": {
        "requestUri": "/graph/members"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn",
          "Accounts"
        ],
        "members": {
          "GraphArn": {},
          "Message": {},
          "DisableEmailNotification": {
            "type": "boolean"
          },
          "Accounts": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "AccountId",
                "EmailAddress"
              ],
              "members": {
                "AccountId": {},
                "EmailAddress": {}
              }
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Members": {
            "shape": "Sg"
          },
          "UnprocessedAccounts": {
            "shape": "Sn"
          }
        }
      }
    },
    "DeleteGraph": {
      "http": {
        "requestUri": "/graph/removal"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn"
        ],
        "members": {
          "GraphArn": {}
        }
      }
    },
    "DeleteMembers": {
      "http": {
        "requestUri": "/graph/members/removal"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn",
          "AccountIds"
        ],
        "members": {
          "GraphArn": {},
          "AccountIds": {
            "shape": "Ss"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "AccountIds": {
            "shape": "Ss"
          },
          "UnprocessedAccounts": {
            "shape": "Sn"
          }
        }
      }
    },
    "DisassociateMembership": {
      "http": {
        "requestUri": "/membership/removal"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn"
        ],
        "members": {
          "GraphArn": {}
        }
      }
    },
    "GetMembers": {
      "http": {
        "requestUri": "/graph/members/get"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn",
          "AccountIds"
        ],
        "members": {
          "GraphArn": {},
          "AccountIds": {
            "shape": "Ss"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "MemberDetails": {
            "shape": "Sg"
          },
          "UnprocessedAccounts": {
            "shape": "Sn"
          }
        }
      }
    },
    "ListGraphs": {
      "http": {
        "requestUri": "/graphs/list"
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "GraphList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Arn": {},
                "CreatedTime": {
                  "shape": "Sk"
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListInvitations": {
      "http": {
        "requestUri": "/invitations/list"
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Invitations": {
            "shape": "Sg"
          },
          "NextToken": {}
        }
      }
    },
    "ListMembers": {
      "http": {
        "requestUri": "/graph/members/list"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn"
        ],
        "members": {
          "GraphArn": {},
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "MemberDetails": {
            "shape": "Sg"
          },
          "NextToken": {}
        }
      }
    },
    "ListTagsForResource": {
      "http": {
        "method": "GET",
        "requestUri": "/tags/{ResourceArn}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn"
        ],
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "ResourceArn"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Tags": {
            "shape": "S4"
          }
        }
      }
    },
    "RejectInvitation": {
      "http": {
        "requestUri": "/invitation/removal"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn"
        ],
        "members": {
          "GraphArn": {}
        }
      }
    },
    "StartMonitoringMember": {
      "http": {
        "requestUri": "/graph/member/monitoringstate"
      },
      "input": {
        "type": "structure",
        "required": [
          "GraphArn",
          "AccountId"
        ],
        "members": {
          "GraphArn": {},
          "AccountId": {}
        }
      }
    },
    "TagResource": {
      "http": {
        "requestUri": "/tags/{ResourceArn}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "Tags"
        ],
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "ResourceArn"
          },
          "Tags": {
            "shape": "S4"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UntagResource": {
      "http": {
        "method": "DELETE",
        "requestUri": "/tags/{ResourceArn}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "TagKeys"
        ],
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "ResourceArn"
          },
          "TagKeys": {
            "location": "querystring",
            "locationName": "tagKeys",
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    }
  },
  "shapes": {
    "S4": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "Sg": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "AccountId": {},
          "EmailAddress": {},
          "GraphArn": {},
          "MasterId": {
            "deprecated": true,
            "deprecatedMessage": "This property is deprecated. Use AdministratorId instead."
          },
          "AdministratorId": {},
          "Status": {},
          "DisabledReason": {},
          "InvitedTime": {
            "shape": "Sk"
          },
          "UpdatedTime": {
            "shape": "Sk"
          },
          "VolumeUsageInBytes": {
            "type": "long"
          },
          "VolumeUsageUpdatedTime": {
            "shape": "Sk"
          },
          "PercentOfGraphUtilization": {
            "deprecated": true,
            "deprecatedMessage": "This property is deprecated. Use VolumeUsageInBytes instead.",
            "type": "double"
          },
          "PercentOfGraphUtilizationUpdatedTime": {
            "shape": "Sk",
            "deprecated": true,
            "deprecatedMessage": "This property is deprecated. Use VolumeUsageUpdatedTime instead."
          }
        }
      }
    },
    "Sk": {
      "type": "timestamp",
      "timestampFormat": "iso8601"
    },
    "Sn": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "AccountId": {},
          "Reason": {}
        }
      }
    },
    "Ss": {
      "type": "list",
      "member": {}
    }
  }
}