{
  "apiVersion" : "1",
  "swaggerVersion" : "1.2",
  "basePath" : "https://app.effektif.com/api/v1",
  "apis" : [ {
    "path" : "/about",
    "operations" : [ {
      "method" : "GET",
      "nickname" : "/about",
      "type" : "About",
      "parameters" : [ {
        "paramType" : "header",
        "name" : "Authorization",
        "description" : "The authentication token can be obtained from /users/login.",
        "dataType" : "string",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/login/{providerKey}",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/login/{providerKey}",
      "type" : "ServiceLogin",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "providerKey",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "body",
        "name" : "serviceLogin",
        "dataType" : "ServiceLogin",
        "required" : true
      } ]
    }, {
      "method" : "PUT",
      "nickname" : "/login/{providerKey}",
      "type" : "ServiceLogin",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "providerKey",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "query",
        "name" : "code",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "query",
        "name" : "state",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "query",
        "name" : "error",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "query",
        "name" : "error_description",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "body",
        "name" : "serviceLogin",
        "dataType" : "ServiceLogin",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/registrations",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/registrations",
      "type" : "EmptyObject",
      "parameters" : [ {
        "paramType" : "body",
        "name" : "registrationRequest",
        "dataType" : "RegistrationRequest",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/registrations/{code}",
    "operations" : [ {
      "method" : "GET",
      "nickname" : "/registrations/{code}",
      "type" : "Registration",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "code",
        "dataType" : "string",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/registrations/{code}/activate",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/registrations/{code}/activate",
      "type" : "LoginResponse",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "code",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "body",
        "name" : "registrationRequest",
        "dataType" : "RegistrationRequest",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/registrations/{code}/picture",
    "operations" : [ {
      "method" : "GET",
      "nickname" : "/registrations/{code}/picture",
      "type" : "FileStream",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "code",
        "dataType" : "string",
        "required" : true
      } ]
    }, {
      "method" : "POST",
      "nickname" : "/registrations/{code}/picture",
      "type" : "EmptyObject",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "code",
        "dataType" : "string",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/registrations/{code}/pictureiframe",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/registrations/{code}/pictureiframe",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "code",
        "dataType" : "string",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/users/confirm",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/users/confirm",
      "type" : "LoginResponse",
      "parameters" : [ {
        "paramType" : "body",
        "name" : "passwordResetConfirmation",
        "dataType" : "PasswordResetConfirmation",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/users/login",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/users/login",
      "parameters" : [ {
        "paramType" : "body",
        "name" : "loginRequest",
        "dataType" : "LoginRequest",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/users/login/handover",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/users/login/handover",
      "type" : "HandoverLogin",
      "parameters" : [ {
        "paramType" : "body",
        "name" : "handoverLogin",
        "dataType" : "HandoverLogin",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/users/reset",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/users/reset",
      "type" : "EmptyObject",
      "parameters" : [ {
        "paramType" : "body",
        "name" : "userMailAddress",
        "dataType" : "UserMailAddress",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/users/{userId}",
    "operations" : [ {
      "method" : "GET",
      "nickname" : "/users/{userId}",
      "type" : "User",
      "parameters" : [ {
        "paramType" : "header",
        "name" : "Authorization",
        "description" : "The authentication token can be obtained from /users/login.",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      } ]
    }, {
      "method" : "PUT",
      "nickname" : "/users/{userId}",
      "type" : "User",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "body",
        "name" : "user",
        "dataType" : "User",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/users/{userId}/picture",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/users/{userId}/picture",
      "type" : "EmptyObject",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/users/{userId}/pictureiframe",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/users/{userId}/pictureiframe",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/{organizationKey}/users",
    "operations" : [ {
      "method" : "GET",
      "nickname" : "/{organizationKey}/users",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "organizationKey",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "query",
        "name" : "emailAddress",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "query",
        "name" : "name",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "query",
        "name" : "offset",
        "dataType" : "integer",
        "required" : true
      }, {
        "paramType" : "query",
        "name" : "pagesize",
        "dataType" : "integer",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/{organizationKey}/users/{userId}",
    "operations" : [ {
      "method" : "GET",
      "nickname" : "/{organizationKey}/users/{userId}",
      "type" : "User",
      "parameters" : [ {
        "paramType" : "header",
        "name" : "Authorization",
        "description" : "The authentication token can be obtained from /users/login.",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "path",
        "name" : "organizationKey",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      } ]
    }, {
      "method" : "PUT",
      "nickname" : "/{organizationKey}/users/{userId}",
      "type" : "User",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "body",
        "name" : "user",
        "dataType" : "User",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/{organizationKey}/users/{userId}/handover",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/{organizationKey}/users/{userId}/handover",
      "type" : "HandoverLogin",
      "parameters" : [ {
        "paramType" : "header",
        "name" : "Authorization",
        "description" : "The authentication token can be obtained from /users/login.",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "path",
        "name" : "organizationKey",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "body",
        "name" : "handoverLogin",
        "dataType" : "HandoverLogin",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/{organizationKey}/users/{userId}/leave",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/{organizationKey}/users/{userId}/leave",
      "parameters" : [ {
        "paramType" : "header",
        "name" : "Authorization",
        "description" : "The authentication token can be obtained from /users/login.",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "path",
        "name" : "organizationKey",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "body",
        "name" : "leaveRequest",
        "dataType" : "LeaveRequest",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/{organizationKey}/users/{userId}/picture",
    "operations" : [ {
      "method" : "GET",
      "nickname" : "/{organizationKey}/users/{userId}/picture",
      "type" : "FileStream",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "organizationKey",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      } ]
    }, {
      "method" : "POST",
      "nickname" : "/{organizationKey}/users/{userId}/picture",
      "type" : "EmptyObject",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/{organizationKey}/users/{userId}/pictureiframe",
    "operations" : [ {
      "method" : "POST",
      "nickname" : "/{organizationKey}/users/{userId}/pictureiframe",
      "parameters" : [ {
        "paramType" : "path",
        "name" : "userId",
        "dataType" : "string",
        "required" : true
      } ]
    } ]
  }, {
    "path" : "/{workspaceKey}/users/{userId}/preferences",
    "operations" : [ {
      "method" : "PUT",
      "nickname" : "/{workspaceKey}/users/{userId}/preferences",
      "parameters" : [ {
        "paramType" : "header",
        "name" : "Authorization",
        "description" : "The authentication token can be obtained from /users/login.",
        "dataType" : "string",
        "required" : true
      }, {
        "paramType" : "body",
        "name" : "put any json in here",
        "dataType" : "string",
        "required" : false
      } ]
    } ]
  } ],
  "models" : {
    "User" : {
      "id" : "User",
      "properties" : {
        "nullFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "string"
          }
        },
        "features" : {
          "type" : "FeatureCache"
        },
        "emailAddressLower" : {
          "type" : "string"
        },
        "passwordHash" : {
          "type" : "string"
        },
        "passwordReset" : {
          "type" : "PasswordReset"
        },
        "permissions" : {
          "type" : "array",
          "items" : {
            "$ref" : "Permission"
          }
        },
        "token" : {
          "type" : "string"
        }
      }
    },
    "AbstractWorkflow" : {
      "id" : "AbstractWorkflow",
      "properties" : { }
    },
    "SystemConfiguration" : {
      "id" : "SystemConfiguration",
      "properties" : { }
    },
    "OauthStartResponse" : {
      "id" : "OauthStartResponse",
      "properties" : { }
    },
    "ActionInstance" : {
      "id" : "ActionInstance",
      "properties" : { }
    },
    "ExecutableWorkflow" : {
      "id" : "ExecutableWorkflow",
      "properties" : { }
    },
    "Task" : {
      "id" : "Task",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        }
      }
    },
    "NewTask" : {
      "id" : "NewTask",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        }
      }
    },
    "TriggerInstance" : {
      "id" : "TriggerInstance",
      "properties" : { }
    },
    "NewWorkflow" : {
      "id" : "NewWorkflow",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        }
      }
    },
    "Account" : {
      "id" : "Account",
      "properties" : { }
    },
    "EditorWorkflow" : {
      "id" : "EditorWorkflow",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        }
      }
    },
    "FormInstance" : {
      "id" : "FormInstance",
      "properties" : { }
    },
    "LoginRequest" : {
      "id" : "LoginRequest",
      "properties" : { }
    },
    "Event" : {
      "id" : "Event",
      "properties" : {
        "nullFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "string"
          }
        }
      }
    },
    "PasswordResetConfirmation" : {
      "id" : "PasswordResetConfirmation",
      "properties" : { }
    },
    "ScriptResult" : {
      "id" : "ScriptResult",
      "properties" : { }
    },
    "EmptyObject" : {
      "id" : "EmptyObject",
      "properties" : { }
    },
    "About" : {
      "id" : "About",
      "properties" : { }
    },
    "LoginResponse" : {
      "id" : "LoginResponse",
      "properties" : { }
    },
    "File" : {
      "id" : "File",
      "properties" : { }
    },
    "RegistrationRequest" : {
      "id" : "RegistrationRequest",
      "properties" : { }
    },
    "ServiceLogin" : {
      "id" : "ServiceLogin",
      "properties" : { }
    },
    "FileStream" : {
      "id" : "FileStream",
      "properties" : { }
    },
    "License" : {
      "id" : "License",
      "properties" : {
        "nullFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "string"
          }
        }
      }
    },
    "ActionInstanceEnd" : {
      "id" : "ActionInstanceEnd",
      "properties" : { }
    },
    "FormInstanceField" : {
      "id" : "FormInstanceField",
      "properties" : { }
    },
    "NewUser" : {
      "id" : "NewUser",
      "properties" : { }
    },
    "Registration" : {
      "id" : "Registration",
      "properties" : {
        "nullFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "string"
          }
        },
        "pictureId" : {
          "type" : "object-id"
        }
      }
    },
    "WorkflowInstance" : {
      "id" : "WorkflowInstance",
      "properties" : { }
    },
    "LeaveRequest" : {
      "id" : "LeaveRequest",
      "properties" : { }
    },
    "Case" : {
      "id" : "Case",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        },
        "hasDueDate" : {
          "type" : "boolean"
        },
        "hasPriority" : {
          "type" : "boolean"
        }
      }
    },
    "VersionRequest" : {
      "id" : "VersionRequest",
      "properties" : { }
    },
    "PurchaseOrder" : {
      "id" : "PurchaseOrder",
      "properties" : {
        "nullFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "string"
          }
        }
      }
    },
    "EditorWorkflowDetail" : {
      "id" : "EditorWorkflowDetail",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        }
      }
    },
    "OauthStartRequest" : {
      "id" : "OauthStartRequest",
      "properties" : { }
    },
    "Organization" : {
      "id" : "Organization",
      "properties" : {
        "nullFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "string"
          }
        },
        "created" : {
          "type" : "LocalDateTime"
        }
      }
    },
    "TaskDetail" : {
      "id" : "TaskDetail",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        }
      }
    },
    "HandoverLogin" : {
      "id" : "HandoverLogin",
      "properties" : { }
    },
    "NewCase" : {
      "id" : "NewCase",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        },
        "hasDueDate" : {
          "type" : "boolean"
        },
        "hasPriority" : {
          "type" : "boolean"
        }
      }
    },
    "UserMailAddress" : {
      "id" : "UserMailAddress",
      "properties" : { }
    },
    "Group" : {
      "id" : "Group",
      "properties" : {
        "nullFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "string"
          }
        }
      }
    },
    "CaseDetail" : {
      "id" : "CaseDetail",
      "properties" : {
        "nameLower" : {
          "type" : "string"
        },
        "hasDueDate" : {
          "type" : "boolean"
        },
        "hasPriority" : {
          "type" : "boolean"
        }
      }
    }
  }
}