├── .github └── workflows │ └── build.yml ├── .gitignore ├── .nojekyll ├── README.md ├── _config-sub.yml ├── _config.yml ├── _layouts └── default.html ├── api ├── css │ └── bitwarden.css ├── index.html └── specs │ └── public │ └── swagger.json ├── browserconfig.xml ├── favicon.ico ├── images └── icons │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── mstile-150x150.png │ └── safari-pinned-tab.svg ├── index.html ├── manifest.json ├── package-lock.json └── package.json /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: push 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - name: Set up Node 12 | uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea 13 | with: 14 | node-version: '14' 15 | 16 | - name: Set up Ruby 17 | uses: actions/setup-ruby@e932e7af67fc4a8fc77bd86b744acd4e42fe3543 18 | with: 19 | ruby-version: 2.6 20 | 21 | - name: Set up Jekyll 22 | run: gem install bundler jekyll 23 | 24 | - name: Print environment 25 | run: | 26 | node --version 27 | npm --version 28 | ruby --version 29 | jekyll --version 30 | 31 | - name: Checkout repo 32 | uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f 33 | 34 | - name: Install Node dependencies 35 | run: npm install 36 | 37 | - name: Build site 38 | if: github.ref != 'refs/heads/master' 39 | run: npm run build:prod 40 | 41 | - name: Build site for S3 42 | if: github.ref == 'refs/heads/master' 43 | run: npm run build:prod:sub 44 | 45 | - name: Deploy to S3 46 | if: github.ref == 'refs/heads/master' 47 | uses: jakejarvis/s3-sync-action@be0c4ab89158cac4278689ebedd8407dd5f35a83 48 | with: 49 | args: --acl public-read --follow-symlinks --delete 50 | env: 51 | AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} 52 | AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} 53 | AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 54 | AWS_REGION: 'us-east-1' 55 | SOURCE_DIR: '_site/api' 56 | DEST_DIR: 'help/api' 57 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vs 2 | node_modules 3 | npm-debug.log 4 | _site/ 5 | .sass-cache/ 6 | .jekyll-metadata 7 | *.bat 8 | *.tmp 9 | /lib 10 | /.jekyll-cache 11 | -------------------------------------------------------------------------------- /.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitwarden/docs/3cc9c24ed38fe15314446162469d91d6f5745b22/.nojekyll -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build](https://github.com/bitwarden/docs/workflows/Build/badge.svg)](https://github.com/bitwarden/docs/actions?query=workflow%3ABuild) 2 | [![Join the chat at https://gitter.im/bitwarden/Lobby](https://badges.gitter.im/bitwarden/Lobby.svg)](https://gitter.im/bitwarden/Lobby) 3 | 4 | # Bitwarden Docs Site 5 | 6 | The Bitwarden docs site project is written using Jekyll. 7 | 8 | # Build/Run 9 | 10 | **Requirements** 11 | 12 | - Node.js 13 | - [Ruby](https://www.ruby-lang.org/) 14 | - [Jekyll](https://jekyllrb.com/) 15 | 16 | Run the following commands: 17 | - `npm install` 18 | - `npm run build:watch` 19 | 20 | You can now access the help center at `http://localhost:4011`. 21 | 22 | # Contribute 23 | 24 | Article contributions are welcome! Please commit any pull requests against the `master` branch. 25 | -------------------------------------------------------------------------------- /_config-sub.yml: -------------------------------------------------------------------------------- 1 | baseurl: /help/api 2 | main_baseurl: '' -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | markdown: kramdown 2 | highlighter: none 3 | permalink: pretty 4 | encoding: utf-8 5 | port: 4011 6 | main_baseurl: https://bitwarden.com 7 | 8 | sass: 9 | style: compressed 10 | 11 | exclude: 12 | - node_modules 13 | - package.json 14 | - package-lock.json 15 | - gulpfile.js 16 | - appveyor.yml 17 | - README.md 18 | 19 | include: 20 | - ".nojekyll" 21 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{page.title}} | {% endif %}Bitwarden Documentation 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | {{content}} 21 | 22 | {% if jekyll.environment == "production" %} 23 | 42 | {% else %} 43 | 48 | {% endif %} 49 | 50 | 51 | -------------------------------------------------------------------------------- /api/css/bitwarden.css: -------------------------------------------------------------------------------- 1 | html { 2 | box-sizing: border-box; 3 | overflow: -moz-scrollbars-vertical; 4 | overflow-y: scroll; 5 | font-size: 14px; 6 | } 7 | 8 | *, 9 | *:before, 10 | *:after { 11 | box-sizing: inherit; 12 | } 13 | 14 | body { 15 | margin: 0; 16 | background: #fafafa; 17 | } 18 | 19 | .swagger-ui .topbar { 20 | background-color: #175DDC; 21 | } 22 | 23 | .swagger-ui .topbar .topbar-wrapper a.link img { 24 | display: none; 25 | } 26 | 27 | .swagger-ui .topbar .topbar-wrapper .download-url-wrapper select { 28 | border: none; 29 | } 30 | 31 | .swagger-ui .model, 32 | .swagger-ui .model-title__text, 33 | .swagger-ui .model-title, 34 | .swagger-ui .opblock-description-wrapper, 35 | .swagger-ui .opblock-external-docs-wrapper, 36 | .swagger-ui .opblock-title_normal, 37 | .swagger-ui table thead tr td, 38 | .swagger-ui table thead tr th { 39 | font-size: 14px; 40 | } 41 | -------------------------------------------------------------------------------- /api/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Bitwarden API Documentation 8 | 9 | 10 | 13 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 27 | 28 | 29 | 62 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /api/specs/public/swagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "openapi": "3.0.1", 3 | "info": { 4 | "title": "Bitwarden Public API", 5 | "description": "The Bitwarden public APIs.", 6 | "contact": { 7 | "name": "Bitwarden Support", 8 | "url": "https://bitwarden.com", 9 | "email": "support@bitwarden.com" 10 | }, 11 | "license": { 12 | "name": "GNU Affero General Public License v3.0", 13 | "url": "https://github.com/bitwarden/server/blob/master/LICENSE.txt" 14 | }, 15 | "version": "latest" 16 | }, 17 | "servers": [ 18 | { 19 | "url": "https://api.bitwarden.com" 20 | } 21 | ], 22 | "paths": { 23 | "/public/collections/{id}": { 24 | "get": { 25 | "tags": [ 26 | "Collections" 27 | ], 28 | "summary": "Retrieve a collection.", 29 | "description": "Retrieves the details of an existing collection. You need only supply the unique collection identifier\r\nthat was returned upon collection creation.", 30 | "parameters": [ 31 | { 32 | "name": "id", 33 | "in": "path", 34 | "description": "The identifier of the collection to be retrieved.", 35 | "required": true, 36 | "schema": { 37 | "type": "string", 38 | "format": "uuid" 39 | } 40 | } 41 | ], 42 | "responses": { 43 | "200": { 44 | "description": "Success", 45 | "content": { 46 | "text/plain": { 47 | "schema": { 48 | "$ref": "#/components/schemas/CollectionResponseModel" 49 | } 50 | }, 51 | "application/json": { 52 | "schema": { 53 | "$ref": "#/components/schemas/CollectionResponseModel" 54 | } 55 | }, 56 | "text/json": { 57 | "schema": { 58 | "$ref": "#/components/schemas/CollectionResponseModel" 59 | } 60 | } 61 | } 62 | }, 63 | "404": { 64 | "description": "Not Found" 65 | } 66 | } 67 | }, 68 | "put": { 69 | "tags": [ 70 | "Collections" 71 | ], 72 | "summary": "Update a collection.", 73 | "description": "Updates the specified collection object. If a property is not provided,\r\nthe value of the existing property will be reset.", 74 | "parameters": [ 75 | { 76 | "name": "id", 77 | "in": "path", 78 | "description": "The identifier of the collection to be updated.", 79 | "required": true, 80 | "schema": { 81 | "type": "string", 82 | "format": "uuid" 83 | } 84 | } 85 | ], 86 | "requestBody": { 87 | "description": "The request model.", 88 | "content": { 89 | "application/json-patch+json": { 90 | "schema": { 91 | "$ref": "#/components/schemas/CollectionUpdateRequestModel" 92 | } 93 | }, 94 | "application/json": { 95 | "schema": { 96 | "$ref": "#/components/schemas/CollectionUpdateRequestModel" 97 | } 98 | }, 99 | "text/json": { 100 | "schema": { 101 | "$ref": "#/components/schemas/CollectionUpdateRequestModel" 102 | } 103 | }, 104 | "application/*+json": { 105 | "schema": { 106 | "$ref": "#/components/schemas/CollectionUpdateRequestModel" 107 | } 108 | } 109 | } 110 | }, 111 | "responses": { 112 | "200": { 113 | "description": "Success", 114 | "content": { 115 | "text/plain": { 116 | "schema": { 117 | "$ref": "#/components/schemas/CollectionResponseModel" 118 | } 119 | }, 120 | "application/json": { 121 | "schema": { 122 | "$ref": "#/components/schemas/CollectionResponseModel" 123 | } 124 | }, 125 | "text/json": { 126 | "schema": { 127 | "$ref": "#/components/schemas/CollectionResponseModel" 128 | } 129 | } 130 | } 131 | }, 132 | "400": { 133 | "description": "Bad Request", 134 | "content": { 135 | "text/plain": { 136 | "schema": { 137 | "$ref": "#/components/schemas/ErrorResponseModel" 138 | } 139 | }, 140 | "application/json": { 141 | "schema": { 142 | "$ref": "#/components/schemas/ErrorResponseModel" 143 | } 144 | }, 145 | "text/json": { 146 | "schema": { 147 | "$ref": "#/components/schemas/ErrorResponseModel" 148 | } 149 | } 150 | } 151 | }, 152 | "404": { 153 | "description": "Not Found" 154 | } 155 | } 156 | }, 157 | "delete": { 158 | "tags": [ 159 | "Collections" 160 | ], 161 | "summary": "Delete a collection.", 162 | "description": "Permanently deletes a collection. This cannot be undone.", 163 | "parameters": [ 164 | { 165 | "name": "id", 166 | "in": "path", 167 | "description": "The identifier of the collection to be deleted.", 168 | "required": true, 169 | "schema": { 170 | "type": "string", 171 | "format": "uuid" 172 | } 173 | } 174 | ], 175 | "responses": { 176 | "200": { 177 | "description": "Success" 178 | }, 179 | "404": { 180 | "description": "Not Found" 181 | } 182 | } 183 | } 184 | }, 185 | "/public/collections": { 186 | "get": { 187 | "tags": [ 188 | "Collections" 189 | ], 190 | "summary": "List all collections.", 191 | "description": "Returns a list of your organization's collections.\r\nCollection objects listed in this call do not include information about their associated groups.", 192 | "responses": { 193 | "200": { 194 | "description": "Success", 195 | "content": { 196 | "text/plain": { 197 | "schema": { 198 | "$ref": "#/components/schemas/CollectionResponseModelListResponseModel" 199 | } 200 | }, 201 | "application/json": { 202 | "schema": { 203 | "$ref": "#/components/schemas/CollectionResponseModelListResponseModel" 204 | } 205 | }, 206 | "text/json": { 207 | "schema": { 208 | "$ref": "#/components/schemas/CollectionResponseModelListResponseModel" 209 | } 210 | } 211 | } 212 | } 213 | } 214 | } 215 | }, 216 | "/public/events": { 217 | "get": { 218 | "tags": [ 219 | "Events" 220 | ], 221 | "summary": "List all events.", 222 | "description": "Returns a filtered list of your organization's event logs, paged by a continuation token.\r\nIf no filters are provided, it will return the last 30 days of event for the organization.", 223 | "parameters": [ 224 | { 225 | "name": "start", 226 | "in": "query", 227 | "description": "The start date. Must be less than the end date.", 228 | "schema": { 229 | "type": "string", 230 | "format": "date-time" 231 | } 232 | }, 233 | { 234 | "name": "end", 235 | "in": "query", 236 | "description": "The end date. Must be greater than the start date.", 237 | "schema": { 238 | "type": "string", 239 | "format": "date-time" 240 | } 241 | }, 242 | { 243 | "name": "actingUserId", 244 | "in": "query", 245 | "description": "The unique identifier of the user that performed the event.", 246 | "schema": { 247 | "type": "string", 248 | "format": "uuid" 249 | } 250 | }, 251 | { 252 | "name": "itemId", 253 | "in": "query", 254 | "description": "The unique identifier of the related item that the event describes.", 255 | "schema": { 256 | "type": "string", 257 | "format": "uuid" 258 | } 259 | }, 260 | { 261 | "name": "continuationToken", 262 | "in": "query", 263 | "description": "A cursor for use in pagination.", 264 | "schema": { 265 | "type": "string" 266 | } 267 | } 268 | ], 269 | "responses": { 270 | "200": { 271 | "description": "Success", 272 | "content": { 273 | "text/plain": { 274 | "schema": { 275 | "$ref": "#/components/schemas/EventResponseModelListResponseModel" 276 | } 277 | }, 278 | "application/json": { 279 | "schema": { 280 | "$ref": "#/components/schemas/EventResponseModelListResponseModel" 281 | } 282 | }, 283 | "text/json": { 284 | "schema": { 285 | "$ref": "#/components/schemas/EventResponseModelListResponseModel" 286 | } 287 | } 288 | } 289 | } 290 | } 291 | } 292 | }, 293 | "/public/groups/{id}": { 294 | "get": { 295 | "tags": [ 296 | "Groups" 297 | ], 298 | "summary": "Retrieve a group.", 299 | "description": "Retrieves the details of an existing group. You need only supply the unique group identifier\r\nthat was returned upon group creation.", 300 | "parameters": [ 301 | { 302 | "name": "id", 303 | "in": "path", 304 | "description": "The identifier of the group to be retrieved.", 305 | "required": true, 306 | "schema": { 307 | "type": "string", 308 | "format": "uuid" 309 | } 310 | } 311 | ], 312 | "responses": { 313 | "200": { 314 | "description": "Success", 315 | "content": { 316 | "text/plain": { 317 | "schema": { 318 | "$ref": "#/components/schemas/GroupResponseModel" 319 | } 320 | }, 321 | "application/json": { 322 | "schema": { 323 | "$ref": "#/components/schemas/GroupResponseModel" 324 | } 325 | }, 326 | "text/json": { 327 | "schema": { 328 | "$ref": "#/components/schemas/GroupResponseModel" 329 | } 330 | } 331 | } 332 | }, 333 | "404": { 334 | "description": "Not Found" 335 | } 336 | } 337 | }, 338 | "put": { 339 | "tags": [ 340 | "Groups" 341 | ], 342 | "summary": "Update a group.", 343 | "description": "Updates the specified group object. If a property is not provided,\r\nthe value of the existing property will be reset.", 344 | "parameters": [ 345 | { 346 | "name": "id", 347 | "in": "path", 348 | "description": "The identifier of the group to be updated.", 349 | "required": true, 350 | "schema": { 351 | "type": "string", 352 | "format": "uuid" 353 | } 354 | } 355 | ], 356 | "requestBody": { 357 | "description": "The request model.", 358 | "content": { 359 | "application/json-patch+json": { 360 | "schema": { 361 | "$ref": "#/components/schemas/GroupCreateUpdateRequestModel" 362 | } 363 | }, 364 | "application/json": { 365 | "schema": { 366 | "$ref": "#/components/schemas/GroupCreateUpdateRequestModel" 367 | } 368 | }, 369 | "text/json": { 370 | "schema": { 371 | "$ref": "#/components/schemas/GroupCreateUpdateRequestModel" 372 | } 373 | }, 374 | "application/*+json": { 375 | "schema": { 376 | "$ref": "#/components/schemas/GroupCreateUpdateRequestModel" 377 | } 378 | } 379 | } 380 | }, 381 | "responses": { 382 | "200": { 383 | "description": "Success", 384 | "content": { 385 | "text/plain": { 386 | "schema": { 387 | "$ref": "#/components/schemas/GroupResponseModel" 388 | } 389 | }, 390 | "application/json": { 391 | "schema": { 392 | "$ref": "#/components/schemas/GroupResponseModel" 393 | } 394 | }, 395 | "text/json": { 396 | "schema": { 397 | "$ref": "#/components/schemas/GroupResponseModel" 398 | } 399 | } 400 | } 401 | }, 402 | "400": { 403 | "description": "Bad Request", 404 | "content": { 405 | "text/plain": { 406 | "schema": { 407 | "$ref": "#/components/schemas/ErrorResponseModel" 408 | } 409 | }, 410 | "application/json": { 411 | "schema": { 412 | "$ref": "#/components/schemas/ErrorResponseModel" 413 | } 414 | }, 415 | "text/json": { 416 | "schema": { 417 | "$ref": "#/components/schemas/ErrorResponseModel" 418 | } 419 | } 420 | } 421 | }, 422 | "404": { 423 | "description": "Not Found" 424 | } 425 | } 426 | }, 427 | "delete": { 428 | "tags": [ 429 | "Groups" 430 | ], 431 | "summary": "Delete a group.", 432 | "description": "Permanently deletes a group. This cannot be undone.", 433 | "parameters": [ 434 | { 435 | "name": "id", 436 | "in": "path", 437 | "description": "The identifier of the group to be deleted.", 438 | "required": true, 439 | "schema": { 440 | "type": "string", 441 | "format": "uuid" 442 | } 443 | } 444 | ], 445 | "responses": { 446 | "200": { 447 | "description": "Success" 448 | }, 449 | "404": { 450 | "description": "Not Found" 451 | } 452 | } 453 | } 454 | }, 455 | "/public/groups/{id}/member-ids": { 456 | "get": { 457 | "tags": [ 458 | "Groups" 459 | ], 460 | "summary": "Retrieve a groups's member ids", 461 | "description": "Retrieves the unique identifiers for all members that are associated with this group. You need only\r\nsupply the unique group identifier that was returned upon group creation.", 462 | "parameters": [ 463 | { 464 | "name": "id", 465 | "in": "path", 466 | "description": "The identifier of the group to be retrieved.", 467 | "required": true, 468 | "schema": { 469 | "type": "string", 470 | "format": "uuid" 471 | } 472 | } 473 | ], 474 | "responses": { 475 | "200": { 476 | "description": "Success", 477 | "content": { 478 | "text/plain": { 479 | "schema": { 480 | "uniqueItems": true, 481 | "type": "array", 482 | "items": { 483 | "type": "string", 484 | "format": "uuid" 485 | } 486 | } 487 | }, 488 | "application/json": { 489 | "schema": { 490 | "uniqueItems": true, 491 | "type": "array", 492 | "items": { 493 | "type": "string", 494 | "format": "uuid" 495 | } 496 | } 497 | }, 498 | "text/json": { 499 | "schema": { 500 | "uniqueItems": true, 501 | "type": "array", 502 | "items": { 503 | "type": "string", 504 | "format": "uuid" 505 | } 506 | } 507 | } 508 | } 509 | }, 510 | "404": { 511 | "description": "Not Found" 512 | } 513 | } 514 | }, 515 | "put": { 516 | "tags": [ 517 | "Groups" 518 | ], 519 | "summary": "Update a group's members.", 520 | "description": "Updates the specified group's member associations.", 521 | "parameters": [ 522 | { 523 | "name": "id", 524 | "in": "path", 525 | "description": "The identifier of the group to be updated.", 526 | "required": true, 527 | "schema": { 528 | "type": "string", 529 | "format": "uuid" 530 | } 531 | } 532 | ], 533 | "requestBody": { 534 | "description": "The request model.", 535 | "content": { 536 | "application/json-patch+json": { 537 | "schema": { 538 | "$ref": "#/components/schemas/UpdateMemberIdsRequestModel" 539 | } 540 | }, 541 | "application/json": { 542 | "schema": { 543 | "$ref": "#/components/schemas/UpdateMemberIdsRequestModel" 544 | } 545 | }, 546 | "text/json": { 547 | "schema": { 548 | "$ref": "#/components/schemas/UpdateMemberIdsRequestModel" 549 | } 550 | }, 551 | "application/*+json": { 552 | "schema": { 553 | "$ref": "#/components/schemas/UpdateMemberIdsRequestModel" 554 | } 555 | } 556 | } 557 | }, 558 | "responses": { 559 | "200": { 560 | "description": "Success" 561 | }, 562 | "400": { 563 | "description": "Bad Request", 564 | "content": { 565 | "text/plain": { 566 | "schema": { 567 | "$ref": "#/components/schemas/ErrorResponseModel" 568 | } 569 | }, 570 | "application/json": { 571 | "schema": { 572 | "$ref": "#/components/schemas/ErrorResponseModel" 573 | } 574 | }, 575 | "text/json": { 576 | "schema": { 577 | "$ref": "#/components/schemas/ErrorResponseModel" 578 | } 579 | } 580 | } 581 | }, 582 | "404": { 583 | "description": "Not Found" 584 | } 585 | } 586 | } 587 | }, 588 | "/public/groups": { 589 | "get": { 590 | "tags": [ 591 | "Groups" 592 | ], 593 | "summary": "List all groups.", 594 | "description": "Returns a list of your organization's groups.\r\nGroup objects listed in this call do not include information about their associated collections.", 595 | "responses": { 596 | "200": { 597 | "description": "Success", 598 | "content": { 599 | "text/plain": { 600 | "schema": { 601 | "$ref": "#/components/schemas/GroupResponseModelListResponseModel" 602 | } 603 | }, 604 | "application/json": { 605 | "schema": { 606 | "$ref": "#/components/schemas/GroupResponseModelListResponseModel" 607 | } 608 | }, 609 | "text/json": { 610 | "schema": { 611 | "$ref": "#/components/schemas/GroupResponseModelListResponseModel" 612 | } 613 | } 614 | } 615 | } 616 | } 617 | }, 618 | "post": { 619 | "tags": [ 620 | "Groups" 621 | ], 622 | "summary": "Create a group.", 623 | "description": "Creates a new group object.", 624 | "requestBody": { 625 | "description": "The request model.", 626 | "content": { 627 | "application/json-patch+json": { 628 | "schema": { 629 | "$ref": "#/components/schemas/GroupCreateUpdateRequestModel" 630 | } 631 | }, 632 | "application/json": { 633 | "schema": { 634 | "$ref": "#/components/schemas/GroupCreateUpdateRequestModel" 635 | } 636 | }, 637 | "text/json": { 638 | "schema": { 639 | "$ref": "#/components/schemas/GroupCreateUpdateRequestModel" 640 | } 641 | }, 642 | "application/*+json": { 643 | "schema": { 644 | "$ref": "#/components/schemas/GroupCreateUpdateRequestModel" 645 | } 646 | } 647 | } 648 | }, 649 | "responses": { 650 | "200": { 651 | "description": "Success", 652 | "content": { 653 | "text/plain": { 654 | "schema": { 655 | "$ref": "#/components/schemas/GroupResponseModel" 656 | } 657 | }, 658 | "application/json": { 659 | "schema": { 660 | "$ref": "#/components/schemas/GroupResponseModel" 661 | } 662 | }, 663 | "text/json": { 664 | "schema": { 665 | "$ref": "#/components/schemas/GroupResponseModel" 666 | } 667 | } 668 | } 669 | }, 670 | "400": { 671 | "description": "Bad Request", 672 | "content": { 673 | "text/plain": { 674 | "schema": { 675 | "$ref": "#/components/schemas/ErrorResponseModel" 676 | } 677 | }, 678 | "application/json": { 679 | "schema": { 680 | "$ref": "#/components/schemas/ErrorResponseModel" 681 | } 682 | }, 683 | "text/json": { 684 | "schema": { 685 | "$ref": "#/components/schemas/ErrorResponseModel" 686 | } 687 | } 688 | } 689 | } 690 | } 691 | } 692 | }, 693 | "/public/members/{id}": { 694 | "get": { 695 | "tags": [ 696 | "Members" 697 | ], 698 | "summary": "Retrieve a member.", 699 | "description": "Retrieves the details of an existing member of the organization. You need only supply the\r\nunique member identifier that was returned upon member creation.", 700 | "parameters": [ 701 | { 702 | "name": "id", 703 | "in": "path", 704 | "description": "The identifier of the member to be retrieved.", 705 | "required": true, 706 | "schema": { 707 | "type": "string", 708 | "format": "uuid" 709 | } 710 | } 711 | ], 712 | "responses": { 713 | "200": { 714 | "description": "Success", 715 | "content": { 716 | "text/plain": { 717 | "schema": { 718 | "$ref": "#/components/schemas/MemberResponseModel" 719 | } 720 | }, 721 | "application/json": { 722 | "schema": { 723 | "$ref": "#/components/schemas/MemberResponseModel" 724 | } 725 | }, 726 | "text/json": { 727 | "schema": { 728 | "$ref": "#/components/schemas/MemberResponseModel" 729 | } 730 | } 731 | } 732 | }, 733 | "404": { 734 | "description": "Not Found" 735 | } 736 | } 737 | }, 738 | "put": { 739 | "tags": [ 740 | "Members" 741 | ], 742 | "summary": "Update a member.", 743 | "description": "Updates the specified member object. If a property is not provided,\r\nthe value of the existing property will be reset.", 744 | "parameters": [ 745 | { 746 | "name": "id", 747 | "in": "path", 748 | "description": "The identifier of the member to be updated.", 749 | "required": true, 750 | "schema": { 751 | "type": "string", 752 | "format": "uuid" 753 | } 754 | } 755 | ], 756 | "requestBody": { 757 | "description": "The request model.", 758 | "content": { 759 | "application/json-patch+json": { 760 | "schema": { 761 | "$ref": "#/components/schemas/MemberUpdateRequestModel" 762 | } 763 | }, 764 | "application/json": { 765 | "schema": { 766 | "$ref": "#/components/schemas/MemberUpdateRequestModel" 767 | } 768 | }, 769 | "text/json": { 770 | "schema": { 771 | "$ref": "#/components/schemas/MemberUpdateRequestModel" 772 | } 773 | }, 774 | "application/*+json": { 775 | "schema": { 776 | "$ref": "#/components/schemas/MemberUpdateRequestModel" 777 | } 778 | } 779 | } 780 | }, 781 | "responses": { 782 | "200": { 783 | "description": "Success", 784 | "content": { 785 | "text/plain": { 786 | "schema": { 787 | "$ref": "#/components/schemas/MemberResponseModel" 788 | } 789 | }, 790 | "application/json": { 791 | "schema": { 792 | "$ref": "#/components/schemas/MemberResponseModel" 793 | } 794 | }, 795 | "text/json": { 796 | "schema": { 797 | "$ref": "#/components/schemas/MemberResponseModel" 798 | } 799 | } 800 | } 801 | }, 802 | "400": { 803 | "description": "Bad Request", 804 | "content": { 805 | "text/plain": { 806 | "schema": { 807 | "$ref": "#/components/schemas/ErrorResponseModel" 808 | } 809 | }, 810 | "application/json": { 811 | "schema": { 812 | "$ref": "#/components/schemas/ErrorResponseModel" 813 | } 814 | }, 815 | "text/json": { 816 | "schema": { 817 | "$ref": "#/components/schemas/ErrorResponseModel" 818 | } 819 | } 820 | } 821 | }, 822 | "404": { 823 | "description": "Not Found" 824 | } 825 | } 826 | }, 827 | "delete": { 828 | "tags": [ 829 | "Members" 830 | ], 831 | "summary": "Delete a member.", 832 | "description": "Permanently deletes a member from the organization. This cannot be undone.\r\nThe user account will still remain. The user is only removed from the organization.", 833 | "parameters": [ 834 | { 835 | "name": "id", 836 | "in": "path", 837 | "description": "The identifier of the member to be deleted.", 838 | "required": true, 839 | "schema": { 840 | "type": "string", 841 | "format": "uuid" 842 | } 843 | } 844 | ], 845 | "responses": { 846 | "200": { 847 | "description": "Success" 848 | }, 849 | "404": { 850 | "description": "Not Found" 851 | } 852 | } 853 | } 854 | }, 855 | "/public/members/{id}/group-ids": { 856 | "get": { 857 | "tags": [ 858 | "Members" 859 | ], 860 | "summary": "Retrieve a member's group ids", 861 | "description": "Retrieves the unique identifiers for all groups that are associated with this member. You need only\r\nsupply the unique member identifier that was returned upon member creation.", 862 | "parameters": [ 863 | { 864 | "name": "id", 865 | "in": "path", 866 | "description": "The identifier of the member to be retrieved.", 867 | "required": true, 868 | "schema": { 869 | "type": "string", 870 | "format": "uuid" 871 | } 872 | } 873 | ], 874 | "responses": { 875 | "200": { 876 | "description": "Success", 877 | "content": { 878 | "text/plain": { 879 | "schema": { 880 | "uniqueItems": true, 881 | "type": "array", 882 | "items": { 883 | "type": "string", 884 | "format": "uuid" 885 | } 886 | } 887 | }, 888 | "application/json": { 889 | "schema": { 890 | "uniqueItems": true, 891 | "type": "array", 892 | "items": { 893 | "type": "string", 894 | "format": "uuid" 895 | } 896 | } 897 | }, 898 | "text/json": { 899 | "schema": { 900 | "uniqueItems": true, 901 | "type": "array", 902 | "items": { 903 | "type": "string", 904 | "format": "uuid" 905 | } 906 | } 907 | } 908 | } 909 | }, 910 | "404": { 911 | "description": "Not Found" 912 | } 913 | } 914 | }, 915 | "put": { 916 | "tags": [ 917 | "Members" 918 | ], 919 | "summary": "Update a member's groups.", 920 | "description": "Updates the specified member's group associations.", 921 | "parameters": [ 922 | { 923 | "name": "id", 924 | "in": "path", 925 | "description": "The identifier of the member to be updated.", 926 | "required": true, 927 | "schema": { 928 | "type": "string", 929 | "format": "uuid" 930 | } 931 | } 932 | ], 933 | "requestBody": { 934 | "description": "The request model.", 935 | "content": { 936 | "application/json-patch+json": { 937 | "schema": { 938 | "$ref": "#/components/schemas/UpdateGroupIdsRequestModel" 939 | } 940 | }, 941 | "application/json": { 942 | "schema": { 943 | "$ref": "#/components/schemas/UpdateGroupIdsRequestModel" 944 | } 945 | }, 946 | "text/json": { 947 | "schema": { 948 | "$ref": "#/components/schemas/UpdateGroupIdsRequestModel" 949 | } 950 | }, 951 | "application/*+json": { 952 | "schema": { 953 | "$ref": "#/components/schemas/UpdateGroupIdsRequestModel" 954 | } 955 | } 956 | } 957 | }, 958 | "responses": { 959 | "200": { 960 | "description": "Success" 961 | }, 962 | "400": { 963 | "description": "Bad Request", 964 | "content": { 965 | "text/plain": { 966 | "schema": { 967 | "$ref": "#/components/schemas/ErrorResponseModel" 968 | } 969 | }, 970 | "application/json": { 971 | "schema": { 972 | "$ref": "#/components/schemas/ErrorResponseModel" 973 | } 974 | }, 975 | "text/json": { 976 | "schema": { 977 | "$ref": "#/components/schemas/ErrorResponseModel" 978 | } 979 | } 980 | } 981 | }, 982 | "404": { 983 | "description": "Not Found" 984 | } 985 | } 986 | } 987 | }, 988 | "/public/members": { 989 | "get": { 990 | "tags": [ 991 | "Members" 992 | ], 993 | "summary": "List all members.", 994 | "description": "Returns a list of your organization's members.\r\nMember objects listed in this call do not include information about their associated collections.", 995 | "responses": { 996 | "200": { 997 | "description": "Success", 998 | "content": { 999 | "text/plain": { 1000 | "schema": { 1001 | "$ref": "#/components/schemas/MemberResponseModelListResponseModel" 1002 | } 1003 | }, 1004 | "application/json": { 1005 | "schema": { 1006 | "$ref": "#/components/schemas/MemberResponseModelListResponseModel" 1007 | } 1008 | }, 1009 | "text/json": { 1010 | "schema": { 1011 | "$ref": "#/components/schemas/MemberResponseModelListResponseModel" 1012 | } 1013 | } 1014 | } 1015 | } 1016 | } 1017 | }, 1018 | "post": { 1019 | "tags": [ 1020 | "Members" 1021 | ], 1022 | "summary": "Create a member.", 1023 | "description": "Creates a new member object by inviting a user to the organization.", 1024 | "requestBody": { 1025 | "description": "The request model.", 1026 | "content": { 1027 | "application/json-patch+json": { 1028 | "schema": { 1029 | "$ref": "#/components/schemas/MemberCreateRequestModel" 1030 | } 1031 | }, 1032 | "application/json": { 1033 | "schema": { 1034 | "$ref": "#/components/schemas/MemberCreateRequestModel" 1035 | } 1036 | }, 1037 | "text/json": { 1038 | "schema": { 1039 | "$ref": "#/components/schemas/MemberCreateRequestModel" 1040 | } 1041 | }, 1042 | "application/*+json": { 1043 | "schema": { 1044 | "$ref": "#/components/schemas/MemberCreateRequestModel" 1045 | } 1046 | } 1047 | } 1048 | }, 1049 | "responses": { 1050 | "200": { 1051 | "description": "Success", 1052 | "content": { 1053 | "text/plain": { 1054 | "schema": { 1055 | "$ref": "#/components/schemas/MemberResponseModel" 1056 | } 1057 | }, 1058 | "application/json": { 1059 | "schema": { 1060 | "$ref": "#/components/schemas/MemberResponseModel" 1061 | } 1062 | }, 1063 | "text/json": { 1064 | "schema": { 1065 | "$ref": "#/components/schemas/MemberResponseModel" 1066 | } 1067 | } 1068 | } 1069 | }, 1070 | "400": { 1071 | "description": "Bad Request", 1072 | "content": { 1073 | "text/plain": { 1074 | "schema": { 1075 | "$ref": "#/components/schemas/ErrorResponseModel" 1076 | } 1077 | }, 1078 | "application/json": { 1079 | "schema": { 1080 | "$ref": "#/components/schemas/ErrorResponseModel" 1081 | } 1082 | }, 1083 | "text/json": { 1084 | "schema": { 1085 | "$ref": "#/components/schemas/ErrorResponseModel" 1086 | } 1087 | } 1088 | } 1089 | } 1090 | } 1091 | } 1092 | }, 1093 | "/public/members/{id}/reinvite": { 1094 | "post": { 1095 | "tags": [ 1096 | "Members" 1097 | ], 1098 | "summary": "Re-invite a member.", 1099 | "description": "Re-sends the invitation email to an organization member.", 1100 | "parameters": [ 1101 | { 1102 | "name": "id", 1103 | "in": "path", 1104 | "description": "The identifier of the member to re-invite.", 1105 | "required": true, 1106 | "schema": { 1107 | "type": "string", 1108 | "format": "uuid" 1109 | } 1110 | } 1111 | ], 1112 | "responses": { 1113 | "200": { 1114 | "description": "Success" 1115 | }, 1116 | "400": { 1117 | "description": "Bad Request", 1118 | "content": { 1119 | "text/plain": { 1120 | "schema": { 1121 | "$ref": "#/components/schemas/ErrorResponseModel" 1122 | } 1123 | }, 1124 | "application/json": { 1125 | "schema": { 1126 | "$ref": "#/components/schemas/ErrorResponseModel" 1127 | } 1128 | }, 1129 | "text/json": { 1130 | "schema": { 1131 | "$ref": "#/components/schemas/ErrorResponseModel" 1132 | } 1133 | } 1134 | } 1135 | }, 1136 | "404": { 1137 | "description": "Not Found" 1138 | } 1139 | } 1140 | } 1141 | }, 1142 | "/public/organization/import": { 1143 | "post": { 1144 | "tags": [ 1145 | "Organization" 1146 | ], 1147 | "summary": "Import members and groups.", 1148 | "description": "Import members and groups from an external system.", 1149 | "requestBody": { 1150 | "description": "The request model.", 1151 | "content": { 1152 | "application/json-patch+json": { 1153 | "schema": { 1154 | "$ref": "#/components/schemas/OrganizationImportRequestModel" 1155 | } 1156 | }, 1157 | "application/json": { 1158 | "schema": { 1159 | "$ref": "#/components/schemas/OrganizationImportRequestModel" 1160 | } 1161 | }, 1162 | "text/json": { 1163 | "schema": { 1164 | "$ref": "#/components/schemas/OrganizationImportRequestModel" 1165 | } 1166 | }, 1167 | "application/*+json": { 1168 | "schema": { 1169 | "$ref": "#/components/schemas/OrganizationImportRequestModel" 1170 | } 1171 | } 1172 | } 1173 | }, 1174 | "responses": { 1175 | "200": { 1176 | "description": "Success", 1177 | "content": { 1178 | "text/plain": { 1179 | "schema": { 1180 | "$ref": "#/components/schemas/MemberResponseModel" 1181 | } 1182 | }, 1183 | "application/json": { 1184 | "schema": { 1185 | "$ref": "#/components/schemas/MemberResponseModel" 1186 | } 1187 | }, 1188 | "text/json": { 1189 | "schema": { 1190 | "$ref": "#/components/schemas/MemberResponseModel" 1191 | } 1192 | } 1193 | } 1194 | }, 1195 | "400": { 1196 | "description": "Bad Request", 1197 | "content": { 1198 | "text/plain": { 1199 | "schema": { 1200 | "$ref": "#/components/schemas/ErrorResponseModel" 1201 | } 1202 | }, 1203 | "application/json": { 1204 | "schema": { 1205 | "$ref": "#/components/schemas/ErrorResponseModel" 1206 | } 1207 | }, 1208 | "text/json": { 1209 | "schema": { 1210 | "$ref": "#/components/schemas/ErrorResponseModel" 1211 | } 1212 | } 1213 | } 1214 | } 1215 | } 1216 | } 1217 | }, 1218 | "/public/policies/{type}": { 1219 | "get": { 1220 | "tags": [ 1221 | "Policies" 1222 | ], 1223 | "summary": "Retrieve a policy.", 1224 | "description": "Retrieves the details of a policy.", 1225 | "parameters": [ 1226 | { 1227 | "name": "type", 1228 | "in": "path", 1229 | "description": "The type of policy to be retrieved.", 1230 | "required": true, 1231 | "schema": { 1232 | "$ref": "#/components/schemas/PolicyType" 1233 | } 1234 | } 1235 | ], 1236 | "responses": { 1237 | "200": { 1238 | "description": "Success", 1239 | "content": { 1240 | "text/plain": { 1241 | "schema": { 1242 | "$ref": "#/components/schemas/GroupResponseModel" 1243 | } 1244 | }, 1245 | "application/json": { 1246 | "schema": { 1247 | "$ref": "#/components/schemas/GroupResponseModel" 1248 | } 1249 | }, 1250 | "text/json": { 1251 | "schema": { 1252 | "$ref": "#/components/schemas/GroupResponseModel" 1253 | } 1254 | } 1255 | } 1256 | }, 1257 | "404": { 1258 | "description": "Not Found" 1259 | } 1260 | } 1261 | } 1262 | }, 1263 | "/public/policies": { 1264 | "get": { 1265 | "tags": [ 1266 | "Policies" 1267 | ], 1268 | "summary": "List all policies.", 1269 | "description": "Returns a list of your organization's policies.", 1270 | "responses": { 1271 | "200": { 1272 | "description": "Success", 1273 | "content": { 1274 | "text/plain": { 1275 | "schema": { 1276 | "$ref": "#/components/schemas/PolicyResponseModelListResponseModel" 1277 | } 1278 | }, 1279 | "application/json": { 1280 | "schema": { 1281 | "$ref": "#/components/schemas/PolicyResponseModelListResponseModel" 1282 | } 1283 | }, 1284 | "text/json": { 1285 | "schema": { 1286 | "$ref": "#/components/schemas/PolicyResponseModelListResponseModel" 1287 | } 1288 | } 1289 | } 1290 | } 1291 | } 1292 | } 1293 | }, 1294 | "/public/policies/{id}": { 1295 | "put": { 1296 | "tags": [ 1297 | "Policies" 1298 | ], 1299 | "summary": "Update a policy.", 1300 | "description": "Updates the specified policy. If a property is not provided,\r\nthe value of the existing property will be reset.", 1301 | "parameters": [ 1302 | { 1303 | "name": "type", 1304 | "in": "query", 1305 | "description": "The type of policy to be updated.", 1306 | "schema": { 1307 | "$ref": "#/components/schemas/PolicyType" 1308 | } 1309 | }, 1310 | { 1311 | "name": "id", 1312 | "in": "path", 1313 | "required": true, 1314 | "schema": { 1315 | "type": "string" 1316 | } 1317 | } 1318 | ], 1319 | "requestBody": { 1320 | "description": "The request model.", 1321 | "content": { 1322 | "application/json-patch+json": { 1323 | "schema": { 1324 | "$ref": "#/components/schemas/PolicyUpdateRequestModel" 1325 | } 1326 | }, 1327 | "application/json": { 1328 | "schema": { 1329 | "$ref": "#/components/schemas/PolicyUpdateRequestModel" 1330 | } 1331 | }, 1332 | "text/json": { 1333 | "schema": { 1334 | "$ref": "#/components/schemas/PolicyUpdateRequestModel" 1335 | } 1336 | }, 1337 | "application/*+json": { 1338 | "schema": { 1339 | "$ref": "#/components/schemas/PolicyUpdateRequestModel" 1340 | } 1341 | } 1342 | } 1343 | }, 1344 | "responses": { 1345 | "200": { 1346 | "description": "Success", 1347 | "content": { 1348 | "text/plain": { 1349 | "schema": { 1350 | "$ref": "#/components/schemas/PolicyResponseModel" 1351 | } 1352 | }, 1353 | "application/json": { 1354 | "schema": { 1355 | "$ref": "#/components/schemas/PolicyResponseModel" 1356 | } 1357 | }, 1358 | "text/json": { 1359 | "schema": { 1360 | "$ref": "#/components/schemas/PolicyResponseModel" 1361 | } 1362 | } 1363 | } 1364 | }, 1365 | "400": { 1366 | "description": "Bad Request", 1367 | "content": { 1368 | "text/plain": { 1369 | "schema": { 1370 | "$ref": "#/components/schemas/ErrorResponseModel" 1371 | } 1372 | }, 1373 | "application/json": { 1374 | "schema": { 1375 | "$ref": "#/components/schemas/ErrorResponseModel" 1376 | } 1377 | }, 1378 | "text/json": { 1379 | "schema": { 1380 | "$ref": "#/components/schemas/ErrorResponseModel" 1381 | } 1382 | } 1383 | } 1384 | }, 1385 | "404": { 1386 | "description": "Not Found" 1387 | } 1388 | } 1389 | } 1390 | } 1391 | }, 1392 | "components": { 1393 | "schemas": { 1394 | "AssociationWithPermissionsResponseModel": { 1395 | "required": [ 1396 | "id", 1397 | "readOnly" 1398 | ], 1399 | "type": "object", 1400 | "properties": { 1401 | "id": { 1402 | "type": "string", 1403 | "description": "The associated object's unique identifier.", 1404 | "format": "uuid", 1405 | "example": "bfbc8338-e329-4dc0-b0c9-317c2ebf1a09" 1406 | }, 1407 | "readOnly": { 1408 | "type": "boolean", 1409 | "description": "When true, the read only permission will not allow the user or group to make changes to items." 1410 | } 1411 | }, 1412 | "additionalProperties": false 1413 | }, 1414 | "CollectionResponseModel": { 1415 | "required": [ 1416 | "id", 1417 | "object" 1418 | ], 1419 | "type": "object", 1420 | "properties": { 1421 | "object": { 1422 | "type": "string", 1423 | "description": "String representing the object's type. Objects of the same type share the same properties.", 1424 | "readOnly": true, 1425 | "example": "collection" 1426 | }, 1427 | "id": { 1428 | "type": "string", 1429 | "description": "The collection's unique identifier.", 1430 | "format": "uuid", 1431 | "example": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593" 1432 | }, 1433 | "groups": { 1434 | "type": "array", 1435 | "items": { 1436 | "$ref": "#/components/schemas/AssociationWithPermissionsResponseModel" 1437 | }, 1438 | "description": "The associated groups that this collection is assigned to.", 1439 | "nullable": true 1440 | }, 1441 | "externalId": { 1442 | "maxLength": 300, 1443 | "minLength": 0, 1444 | "type": "string", 1445 | "description": "External identifier for reference or linking this collection to another system.", 1446 | "nullable": true, 1447 | "example": "external_id_123456" 1448 | } 1449 | }, 1450 | "additionalProperties": false, 1451 | "description": "A collection." 1452 | }, 1453 | "AssociationWithPermissionsRequestModel": { 1454 | "required": [ 1455 | "id", 1456 | "readOnly" 1457 | ], 1458 | "type": "object", 1459 | "properties": { 1460 | "id": { 1461 | "type": "string", 1462 | "description": "The associated object's unique identifier.", 1463 | "format": "uuid", 1464 | "example": "bfbc8338-e329-4dc0-b0c9-317c2ebf1a09" 1465 | }, 1466 | "readOnly": { 1467 | "type": "boolean", 1468 | "description": "When true, the read only permission will not allow the user or group to make changes to items." 1469 | } 1470 | }, 1471 | "additionalProperties": false 1472 | }, 1473 | "CollectionUpdateRequestModel": { 1474 | "type": "object", 1475 | "properties": { 1476 | "groups": { 1477 | "type": "array", 1478 | "items": { 1479 | "$ref": "#/components/schemas/AssociationWithPermissionsRequestModel" 1480 | }, 1481 | "description": "The associated groups that this collection is assigned to.", 1482 | "nullable": true 1483 | }, 1484 | "externalId": { 1485 | "maxLength": 300, 1486 | "minLength": 0, 1487 | "type": "string", 1488 | "description": "External identifier for reference or linking this collection to another system.", 1489 | "nullable": true, 1490 | "example": "external_id_123456" 1491 | } 1492 | }, 1493 | "additionalProperties": false 1494 | }, 1495 | "ErrorResponseModel": { 1496 | "required": [ 1497 | "message", 1498 | "object" 1499 | ], 1500 | "type": "object", 1501 | "properties": { 1502 | "object": { 1503 | "type": "string", 1504 | "description": "String representing the object's type. Objects of the same type share the same properties.", 1505 | "readOnly": true, 1506 | "example": "error" 1507 | }, 1508 | "message": { 1509 | "type": "string", 1510 | "description": "A human-readable message providing details about the error.", 1511 | "example": "The request model is invalid." 1512 | }, 1513 | "errors": { 1514 | "type": "object", 1515 | "additionalProperties": { 1516 | "type": "array", 1517 | "items": { 1518 | "type": "string" 1519 | } 1520 | }, 1521 | "description": "If multiple errors occurred, they are listed in dictionary. Errors related to a specific\r\nrequest parameter will include a dictionary key describing that parameter.", 1522 | "nullable": true 1523 | } 1524 | }, 1525 | "additionalProperties": false 1526 | }, 1527 | "CollectionResponseModelListResponseModel": { 1528 | "required": [ 1529 | "data", 1530 | "object" 1531 | ], 1532 | "type": "object", 1533 | "properties": { 1534 | "object": { 1535 | "type": "string", 1536 | "description": "String representing the object's type. Objects of the same type share the same properties.", 1537 | "readOnly": true, 1538 | "example": "list" 1539 | }, 1540 | "data": { 1541 | "type": "array", 1542 | "items": { 1543 | "$ref": "#/components/schemas/CollectionResponseModel" 1544 | }, 1545 | "description": "An array containing the actual response elements, paginated by any request parameters." 1546 | }, 1547 | "continuationToken": { 1548 | "type": "string", 1549 | "description": "A cursor for use in pagination.", 1550 | "nullable": true 1551 | } 1552 | }, 1553 | "additionalProperties": false 1554 | }, 1555 | "EventType": { 1556 | "enum": [ 1557 | 1000, 1558 | 1001, 1559 | 1002, 1560 | 1003, 1561 | 1004, 1562 | 1005, 1563 | 1006, 1564 | 1007, 1565 | 1100, 1566 | 1101, 1567 | 1102, 1568 | 1103, 1569 | 1104, 1570 | 1105, 1571 | 1106, 1572 | 1107, 1573 | 1108, 1574 | 1109, 1575 | 1110, 1576 | 1111, 1577 | 1112, 1578 | 1113, 1579 | 1114, 1580 | 1115, 1581 | 1116, 1582 | 1300, 1583 | 1301, 1584 | 1302, 1585 | 1400, 1586 | 1401, 1587 | 1402, 1588 | 1500, 1589 | 1501, 1590 | 1502, 1591 | 1503, 1592 | 1504, 1593 | 1600, 1594 | 1601, 1595 | 1700 1596 | ], 1597 | "type": "integer", 1598 | "format": "int32" 1599 | }, 1600 | "DeviceType": { 1601 | "enum": [ 1602 | 0, 1603 | 1, 1604 | 2, 1605 | 3, 1606 | 4, 1607 | 5, 1608 | 6, 1609 | 7, 1610 | 8, 1611 | 9, 1612 | 10, 1613 | 11, 1614 | 12, 1615 | 13, 1616 | 14, 1617 | 15, 1618 | 16, 1619 | 17, 1620 | 18, 1621 | 19, 1622 | 20 1623 | ], 1624 | "type": "integer", 1625 | "format": "int32" 1626 | }, 1627 | "EventResponseModel": { 1628 | "required": [ 1629 | "date", 1630 | "object", 1631 | "type" 1632 | ], 1633 | "type": "object", 1634 | "properties": { 1635 | "object": { 1636 | "type": "string", 1637 | "description": "String representing the object's type. Objects of the same type share the same properties.", 1638 | "readOnly": true, 1639 | "example": "event" 1640 | }, 1641 | "type": { 1642 | "allOf": [ 1643 | { 1644 | "$ref": "#/components/schemas/EventType" 1645 | } 1646 | ], 1647 | "description": "The type of event." 1648 | }, 1649 | "itemId": { 1650 | "type": "string", 1651 | "description": "The unique identifier of the related item that the event describes.", 1652 | "format": "uuid", 1653 | "nullable": true, 1654 | "example": "3767a302-8208-4dc6-b842-030428a1cfad" 1655 | }, 1656 | "collectionId": { 1657 | "type": "string", 1658 | "description": "The unique identifier of the related collection that the event describes.", 1659 | "format": "uuid", 1660 | "nullable": true, 1661 | "example": "bce212a4-25f3-4888-8a0a-4c5736d851e0" 1662 | }, 1663 | "groupId": { 1664 | "type": "string", 1665 | "description": "The unique identifier of the related group that the event describes.", 1666 | "format": "uuid", 1667 | "nullable": true, 1668 | "example": "f29a2515-91d2-4452-b49b-5e8040e6b0f4" 1669 | }, 1670 | "policyId": { 1671 | "type": "string", 1672 | "description": "The unique identifier of the related policy that the event describes.", 1673 | "format": "uuid", 1674 | "nullable": true, 1675 | "example": "f29a2515-91d2-4452-b49b-5e8040e6b0f4" 1676 | }, 1677 | "memberId": { 1678 | "type": "string", 1679 | "description": "The unique identifier of the related member that the event describes.", 1680 | "format": "uuid", 1681 | "nullable": true, 1682 | "example": "e68b8629-85eb-4929-92c0-b84464976ba4" 1683 | }, 1684 | "actingUserId": { 1685 | "type": "string", 1686 | "description": "The unique identifier of the user that performed the event.", 1687 | "format": "uuid", 1688 | "nullable": true, 1689 | "example": "a2549f79-a71f-4eb9-9234-eb7247333f94" 1690 | }, 1691 | "date": { 1692 | "type": "string", 1693 | "description": "The date/timestamp when the event occurred.", 1694 | "format": "date-time" 1695 | }, 1696 | "device": { 1697 | "allOf": [ 1698 | { 1699 | "$ref": "#/components/schemas/DeviceType" 1700 | } 1701 | ], 1702 | "description": "The type of device used by the acting user when the event occurred.", 1703 | "nullable": true 1704 | }, 1705 | "ipAddress": { 1706 | "type": "string", 1707 | "description": "The IP address of the acting user.", 1708 | "nullable": true, 1709 | "example": "172.16.254.1" 1710 | } 1711 | }, 1712 | "additionalProperties": false, 1713 | "description": "An event log." 1714 | }, 1715 | "EventResponseModelListResponseModel": { 1716 | "required": [ 1717 | "data", 1718 | "object" 1719 | ], 1720 | "type": "object", 1721 | "properties": { 1722 | "object": { 1723 | "type": "string", 1724 | "description": "String representing the object's type. Objects of the same type share the same properties.", 1725 | "readOnly": true, 1726 | "example": "list" 1727 | }, 1728 | "data": { 1729 | "type": "array", 1730 | "items": { 1731 | "$ref": "#/components/schemas/EventResponseModel" 1732 | }, 1733 | "description": "An array containing the actual response elements, paginated by any request parameters." 1734 | }, 1735 | "continuationToken": { 1736 | "type": "string", 1737 | "description": "A cursor for use in pagination.", 1738 | "nullable": true 1739 | } 1740 | }, 1741 | "additionalProperties": false 1742 | }, 1743 | "GroupResponseModel": { 1744 | "required": [ 1745 | "accessAll", 1746 | "id", 1747 | "name", 1748 | "object" 1749 | ], 1750 | "type": "object", 1751 | "properties": { 1752 | "object": { 1753 | "type": "string", 1754 | "description": "String representing the object's type. Objects of the same type share the same properties.", 1755 | "readOnly": true, 1756 | "example": "group" 1757 | }, 1758 | "id": { 1759 | "type": "string", 1760 | "description": "The group's unique identifier.", 1761 | "format": "uuid", 1762 | "example": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593" 1763 | }, 1764 | "collections": { 1765 | "type": "array", 1766 | "items": { 1767 | "$ref": "#/components/schemas/AssociationWithPermissionsResponseModel" 1768 | }, 1769 | "description": "The associated collections that this group can access.", 1770 | "nullable": true 1771 | }, 1772 | "name": { 1773 | "maxLength": 100, 1774 | "minLength": 0, 1775 | "type": "string", 1776 | "description": "The name of the group.", 1777 | "example": "Development Team" 1778 | }, 1779 | "accessAll": { 1780 | "type": "boolean", 1781 | "description": "Determines if this group can access all collections within the organization, or only the associated\r\ncollections. If set to {true}, this option overrides any collection assignments." 1782 | }, 1783 | "externalId": { 1784 | "maxLength": 300, 1785 | "minLength": 0, 1786 | "type": "string", 1787 | "description": "External identifier for reference or linking this group to another system, such as a user directory.", 1788 | "nullable": true, 1789 | "example": "external_id_123456" 1790 | } 1791 | }, 1792 | "additionalProperties": false, 1793 | "description": "A user group." 1794 | }, 1795 | "GroupCreateUpdateRequestModel": { 1796 | "required": [ 1797 | "accessAll", 1798 | "name" 1799 | ], 1800 | "type": "object", 1801 | "properties": { 1802 | "collections": { 1803 | "type": "array", 1804 | "items": { 1805 | "$ref": "#/components/schemas/AssociationWithPermissionsRequestModel" 1806 | }, 1807 | "description": "The associated collections that this group can access.", 1808 | "nullable": true 1809 | }, 1810 | "name": { 1811 | "maxLength": 100, 1812 | "minLength": 0, 1813 | "type": "string", 1814 | "description": "The name of the group.", 1815 | "example": "Development Team" 1816 | }, 1817 | "accessAll": { 1818 | "type": "boolean", 1819 | "description": "Determines if this group can access all collections within the organization, or only the associated\r\ncollections. If set to {true}, this option overrides any collection assignments." 1820 | }, 1821 | "externalId": { 1822 | "maxLength": 300, 1823 | "minLength": 0, 1824 | "type": "string", 1825 | "description": "External identifier for reference or linking this group to another system, such as a user directory.", 1826 | "nullable": true, 1827 | "example": "external_id_123456" 1828 | } 1829 | }, 1830 | "additionalProperties": false 1831 | }, 1832 | "UpdateMemberIdsRequestModel": { 1833 | "type": "object", 1834 | "properties": { 1835 | "memberIds": { 1836 | "type": "array", 1837 | "items": { 1838 | "type": "string", 1839 | "format": "uuid" 1840 | }, 1841 | "description": "The associated member ids that have access to this object.", 1842 | "nullable": true 1843 | } 1844 | }, 1845 | "additionalProperties": false 1846 | }, 1847 | "GroupResponseModelListResponseModel": { 1848 | "required": [ 1849 | "data", 1850 | "object" 1851 | ], 1852 | "type": "object", 1853 | "properties": { 1854 | "object": { 1855 | "type": "string", 1856 | "description": "String representing the object's type. Objects of the same type share the same properties.", 1857 | "readOnly": true, 1858 | "example": "list" 1859 | }, 1860 | "data": { 1861 | "type": "array", 1862 | "items": { 1863 | "$ref": "#/components/schemas/GroupResponseModel" 1864 | }, 1865 | "description": "An array containing the actual response elements, paginated by any request parameters." 1866 | }, 1867 | "continuationToken": { 1868 | "type": "string", 1869 | "description": "A cursor for use in pagination.", 1870 | "nullable": true 1871 | } 1872 | }, 1873 | "additionalProperties": false 1874 | }, 1875 | "OrganizationUserStatusType": { 1876 | "enum": [ 1877 | 0, 1878 | 1, 1879 | 2 1880 | ], 1881 | "type": "integer", 1882 | "format": "int32" 1883 | }, 1884 | "OrganizationUserType": { 1885 | "enum": [ 1886 | 0, 1887 | 1, 1888 | 2, 1889 | 3 1890 | ], 1891 | "type": "integer", 1892 | "format": "int32" 1893 | }, 1894 | "MemberResponseModel": { 1895 | "required": [ 1896 | "accessAll", 1897 | "email", 1898 | "id", 1899 | "object", 1900 | "status", 1901 | "twoFactorEnabled", 1902 | "type", 1903 | "userId" 1904 | ], 1905 | "type": "object", 1906 | "properties": { 1907 | "object": { 1908 | "type": "string", 1909 | "description": "String representing the object's type. Objects of the same type share the same properties.", 1910 | "readOnly": true, 1911 | "example": "member" 1912 | }, 1913 | "id": { 1914 | "type": "string", 1915 | "description": "The member's unique identifier within the organization.", 1916 | "format": "uuid", 1917 | "example": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593" 1918 | }, 1919 | "userId": { 1920 | "type": "string", 1921 | "description": "The member's unique identifier across Bitwarden.", 1922 | "format": "uuid", 1923 | "example": "48b47ee1-493e-4c67-aef7-014996c40eca" 1924 | }, 1925 | "name": { 1926 | "type": "string", 1927 | "description": "The member's name, set from their user account profile.", 1928 | "nullable": true, 1929 | "example": "John Smith" 1930 | }, 1931 | "email": { 1932 | "type": "string", 1933 | "description": "The member's email address.", 1934 | "example": "jsmith@example.com" 1935 | }, 1936 | "twoFactorEnabled": { 1937 | "type": "boolean", 1938 | "description": "Returns {true} if the member has a two-step login method enabled on their user account." 1939 | }, 1940 | "status": { 1941 | "allOf": [ 1942 | { 1943 | "$ref": "#/components/schemas/OrganizationUserStatusType" 1944 | } 1945 | ], 1946 | "description": "The member's status within the organization. All created members start with a status of \"Invited\".\r\nOnce a member accept's their invitation to join the organization, their status changes to \"Accepted\".\r\nAccepted members are then \"Confirmed\" by an organization administrator. Once a member is \"Confirmed\",\r\ntheir status can no longer change." 1947 | }, 1948 | "collections": { 1949 | "type": "array", 1950 | "items": { 1951 | "$ref": "#/components/schemas/AssociationWithPermissionsResponseModel" 1952 | }, 1953 | "description": "The associated collections that this member can access.", 1954 | "nullable": true 1955 | }, 1956 | "type": { 1957 | "allOf": [ 1958 | { 1959 | "$ref": "#/components/schemas/OrganizationUserType" 1960 | } 1961 | ], 1962 | "description": "The member's type (or role) within the organization." 1963 | }, 1964 | "accessAll": { 1965 | "type": "boolean", 1966 | "description": "Determines if this member can access all collections within the organization, or only the associated\r\ncollections. If set to {true}, this option overrides any collection assignments." 1967 | }, 1968 | "externalId": { 1969 | "maxLength": 300, 1970 | "minLength": 0, 1971 | "type": "string", 1972 | "description": "External identifier for reference or linking this member to another system, such as a user directory.", 1973 | "nullable": true, 1974 | "example": "external_id_123456" 1975 | } 1976 | }, 1977 | "additionalProperties": false, 1978 | "description": "An organization member." 1979 | }, 1980 | "MemberUpdateRequestModel": { 1981 | "required": [ 1982 | "accessAll", 1983 | "type" 1984 | ], 1985 | "type": "object", 1986 | "properties": { 1987 | "collections": { 1988 | "type": "array", 1989 | "items": { 1990 | "$ref": "#/components/schemas/AssociationWithPermissionsRequestModel" 1991 | }, 1992 | "description": "The associated collections that this member can access.", 1993 | "nullable": true 1994 | }, 1995 | "type": { 1996 | "allOf": [ 1997 | { 1998 | "$ref": "#/components/schemas/OrganizationUserType" 1999 | } 2000 | ], 2001 | "description": "The member's type (or role) within the organization." 2002 | }, 2003 | "accessAll": { 2004 | "type": "boolean", 2005 | "description": "Determines if this member can access all collections within the organization, or only the associated\r\ncollections. If set to {true}, this option overrides any collection assignments." 2006 | }, 2007 | "externalId": { 2008 | "maxLength": 300, 2009 | "minLength": 0, 2010 | "type": "string", 2011 | "description": "External identifier for reference or linking this member to another system, such as a user directory.", 2012 | "nullable": true, 2013 | "example": "external_id_123456" 2014 | } 2015 | }, 2016 | "additionalProperties": false 2017 | }, 2018 | "UpdateGroupIdsRequestModel": { 2019 | "type": "object", 2020 | "properties": { 2021 | "groupIds": { 2022 | "type": "array", 2023 | "items": { 2024 | "type": "string", 2025 | "format": "uuid" 2026 | }, 2027 | "description": "The associated group ids that this object can access.", 2028 | "nullable": true 2029 | } 2030 | }, 2031 | "additionalProperties": false 2032 | }, 2033 | "MemberResponseModelListResponseModel": { 2034 | "required": [ 2035 | "data", 2036 | "object" 2037 | ], 2038 | "type": "object", 2039 | "properties": { 2040 | "object": { 2041 | "type": "string", 2042 | "description": "String representing the object's type. Objects of the same type share the same properties.", 2043 | "readOnly": true, 2044 | "example": "list" 2045 | }, 2046 | "data": { 2047 | "type": "array", 2048 | "items": { 2049 | "$ref": "#/components/schemas/MemberResponseModel" 2050 | }, 2051 | "description": "An array containing the actual response elements, paginated by any request parameters." 2052 | }, 2053 | "continuationToken": { 2054 | "type": "string", 2055 | "description": "A cursor for use in pagination.", 2056 | "nullable": true 2057 | } 2058 | }, 2059 | "additionalProperties": false 2060 | }, 2061 | "MemberCreateRequestModel": { 2062 | "required": [ 2063 | "accessAll", 2064 | "email", 2065 | "type" 2066 | ], 2067 | "type": "object", 2068 | "properties": { 2069 | "email": { 2070 | "type": "string", 2071 | "description": "The member's email address.", 2072 | "format": "email", 2073 | "example": "jsmith@example.com" 2074 | }, 2075 | "collections": { 2076 | "type": "array", 2077 | "items": { 2078 | "$ref": "#/components/schemas/AssociationWithPermissionsRequestModel" 2079 | }, 2080 | "description": "The associated collections that this member can access.", 2081 | "nullable": true 2082 | }, 2083 | "type": { 2084 | "allOf": [ 2085 | { 2086 | "$ref": "#/components/schemas/OrganizationUserType" 2087 | } 2088 | ], 2089 | "description": "The member's type (or role) within the organization." 2090 | }, 2091 | "accessAll": { 2092 | "type": "boolean", 2093 | "description": "Determines if this member can access all collections within the organization, or only the associated\r\ncollections. If set to {true}, this option overrides any collection assignments." 2094 | }, 2095 | "externalId": { 2096 | "maxLength": 300, 2097 | "minLength": 0, 2098 | "type": "string", 2099 | "description": "External identifier for reference or linking this member to another system, such as a user directory.", 2100 | "nullable": true, 2101 | "example": "external_id_123456" 2102 | } 2103 | }, 2104 | "additionalProperties": false 2105 | }, 2106 | "OrganizationImportGroupRequestModel": { 2107 | "required": [ 2108 | "externalId", 2109 | "name" 2110 | ], 2111 | "type": "object", 2112 | "properties": { 2113 | "name": { 2114 | "maxLength": 100, 2115 | "minLength": 0, 2116 | "type": "string", 2117 | "description": "The name of the group.", 2118 | "example": "Development Team" 2119 | }, 2120 | "externalId": { 2121 | "maxLength": 300, 2122 | "minLength": 0, 2123 | "type": "string", 2124 | "description": "External identifier for reference or linking this group to another system, such as a user directory.", 2125 | "example": "external_id_123456" 2126 | }, 2127 | "memberExternalIds": { 2128 | "type": "array", 2129 | "items": { 2130 | "type": "string" 2131 | }, 2132 | "description": "The associated external ids for members in this group.", 2133 | "nullable": true 2134 | } 2135 | }, 2136 | "additionalProperties": false 2137 | }, 2138 | "OrganizationImportMemberRequestModel": { 2139 | "required": [ 2140 | "externalId" 2141 | ], 2142 | "type": "object", 2143 | "properties": { 2144 | "email": { 2145 | "maxLength": 50, 2146 | "minLength": 0, 2147 | "type": "string", 2148 | "description": "The member's email address. Required for non-deleted users.", 2149 | "format": "email", 2150 | "nullable": true, 2151 | "example": "jsmith@example.com" 2152 | }, 2153 | "externalId": { 2154 | "maxLength": 300, 2155 | "minLength": 0, 2156 | "type": "string", 2157 | "description": "External identifier for reference or linking this member to another system, such as a user directory.", 2158 | "example": "external_id_123456" 2159 | }, 2160 | "deleted": { 2161 | "type": "boolean", 2162 | "description": "Determines if this member should be removed from the organization during import." 2163 | } 2164 | }, 2165 | "additionalProperties": false 2166 | }, 2167 | "OrganizationImportRequestModel": { 2168 | "required": [ 2169 | "overwriteExisting" 2170 | ], 2171 | "type": "object", 2172 | "properties": { 2173 | "groups": { 2174 | "type": "array", 2175 | "items": { 2176 | "$ref": "#/components/schemas/OrganizationImportGroupRequestModel" 2177 | }, 2178 | "description": "Groups to import.", 2179 | "nullable": true 2180 | }, 2181 | "members": { 2182 | "type": "array", 2183 | "items": { 2184 | "$ref": "#/components/schemas/OrganizationImportMemberRequestModel" 2185 | }, 2186 | "description": "Members to import.", 2187 | "nullable": true 2188 | }, 2189 | "overwriteExisting": { 2190 | "type": "boolean", 2191 | "description": "Determines if the data in this request should overwrite or append to the existing organization data." 2192 | } 2193 | }, 2194 | "additionalProperties": false 2195 | }, 2196 | "PolicyType": { 2197 | "enum": [ 2198 | 0, 2199 | 1, 2200 | 2 2201 | ], 2202 | "type": "integer", 2203 | "format": "int32" 2204 | }, 2205 | "PolicyResponseModel": { 2206 | "required": [ 2207 | "enabled", 2208 | "id", 2209 | "object", 2210 | "type" 2211 | ], 2212 | "type": "object", 2213 | "properties": { 2214 | "object": { 2215 | "type": "string", 2216 | "description": "String representing the object's type. Objects of the same type share the same properties.", 2217 | "readOnly": true, 2218 | "example": "policy" 2219 | }, 2220 | "id": { 2221 | "type": "string", 2222 | "description": "The policy's unique identifier.", 2223 | "format": "uuid", 2224 | "example": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593" 2225 | }, 2226 | "type": { 2227 | "allOf": [ 2228 | { 2229 | "$ref": "#/components/schemas/PolicyType" 2230 | } 2231 | ], 2232 | "description": "The type of policy." 2233 | }, 2234 | "enabled": { 2235 | "type": "boolean", 2236 | "description": "Determines if this policy is enabled and enforced." 2237 | }, 2238 | "data": { 2239 | "type": "object", 2240 | "additionalProperties": { 2241 | "type": "object", 2242 | "additionalProperties": false 2243 | }, 2244 | "description": "Data for the policy.", 2245 | "nullable": true 2246 | } 2247 | }, 2248 | "additionalProperties": false, 2249 | "description": "A policy." 2250 | }, 2251 | "PolicyResponseModelListResponseModel": { 2252 | "required": [ 2253 | "data", 2254 | "object" 2255 | ], 2256 | "type": "object", 2257 | "properties": { 2258 | "object": { 2259 | "type": "string", 2260 | "description": "String representing the object's type. Objects of the same type share the same properties.", 2261 | "readOnly": true, 2262 | "example": "list" 2263 | }, 2264 | "data": { 2265 | "type": "array", 2266 | "items": { 2267 | "$ref": "#/components/schemas/PolicyResponseModel" 2268 | }, 2269 | "description": "An array containing the actual response elements, paginated by any request parameters." 2270 | }, 2271 | "continuationToken": { 2272 | "type": "string", 2273 | "description": "A cursor for use in pagination.", 2274 | "nullable": true 2275 | } 2276 | }, 2277 | "additionalProperties": false 2278 | }, 2279 | "PolicyUpdateRequestModel": { 2280 | "required": [ 2281 | "enabled" 2282 | ], 2283 | "type": "object", 2284 | "properties": { 2285 | "enabled": { 2286 | "type": "boolean", 2287 | "description": "Determines if this policy is enabled and enforced." 2288 | }, 2289 | "data": { 2290 | "type": "object", 2291 | "additionalProperties": { 2292 | "type": "object", 2293 | "additionalProperties": false 2294 | }, 2295 | "description": "Data for the policy.", 2296 | "nullable": true 2297 | } 2298 | }, 2299 | "additionalProperties": false 2300 | } 2301 | }, 2302 | "securitySchemes": { 2303 | "OAuth2 Client Credentials": { 2304 | "type": "oauth2", 2305 | "flows": { 2306 | "clientCredentials": { 2307 | "tokenUrl": "https://identity.bitwarden.com/connect/token", 2308 | "scopes": { 2309 | "api.organization": "Organization APIs" 2310 | } 2311 | } 2312 | } 2313 | } 2314 | } 2315 | }, 2316 | "security": [ 2317 | { 2318 | "OAuth2 Client Credentials": [ 2319 | "api.organization" 2320 | ] 2321 | } 2322 | ] 2323 | } -------------------------------------------------------------------------------- /browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #ecf0f5 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitwarden/docs/3cc9c24ed38fe15314446162469d91d6f5745b22/favicon.ico -------------------------------------------------------------------------------- /images/icons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitwarden/docs/3cc9c24ed38fe15314446162469d91d6f5745b22/images/icons/android-chrome-192x192.png -------------------------------------------------------------------------------- /images/icons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitwarden/docs/3cc9c24ed38fe15314446162469d91d6f5745b22/images/icons/android-chrome-512x512.png -------------------------------------------------------------------------------- /images/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitwarden/docs/3cc9c24ed38fe15314446162469d91d6f5745b22/images/icons/apple-touch-icon.png -------------------------------------------------------------------------------- /images/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitwarden/docs/3cc9c24ed38fe15314446162469d91d6f5745b22/images/icons/favicon-16x16.png -------------------------------------------------------------------------------- /images/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitwarden/docs/3cc9c24ed38fe15314446162469d91d6f5745b22/images/icons/favicon-32x32.png -------------------------------------------------------------------------------- /images/icons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitwarden/docs/3cc9c24ed38fe15314446162469d91d6f5745b22/images/icons/mstile-150x150.png -------------------------------------------------------------------------------- /images/icons/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.11, written by Peter Selinger 2001-2013 9 | 10 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Welcome 4 | --- 5 | 6 |

Read the API docs

7 |

Explore the API

8 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitwarden docs", 3 | "icons": [ 4 | { 5 | "src": "images/icons/android-chrome-192x192.png", 6 | "sizes": "192x192", 7 | "type": "image/png" 8 | }, 9 | { 10 | "src": "images/icons/android-chrome-512x512.png", 11 | "sizes": "512x512", 12 | "type": "image/png" 13 | } 14 | ], 15 | "theme_color": "#ffffff", 16 | "background_color": "#ffffff" 17 | } -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitwarden-docs", 3 | "version": "0.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "cross-env": { 8 | "version": "5.2.1", 9 | "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", 10 | "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", 11 | "dev": true, 12 | "requires": { 13 | "cross-spawn": "^6.0.5" 14 | } 15 | }, 16 | "cross-spawn": { 17 | "version": "6.0.5", 18 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 19 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 20 | "dev": true, 21 | "requires": { 22 | "nice-try": "^1.0.4", 23 | "path-key": "^2.0.1", 24 | "semver": "^5.5.0", 25 | "shebang-command": "^1.2.0", 26 | "which": "^1.2.9" 27 | } 28 | }, 29 | "isexe": { 30 | "version": "2.0.0", 31 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 32 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 33 | "dev": true 34 | }, 35 | "nice-try": { 36 | "version": "1.0.5", 37 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 38 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 39 | "dev": true 40 | }, 41 | "path-key": { 42 | "version": "2.0.1", 43 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 44 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 45 | "dev": true 46 | }, 47 | "semver": { 48 | "version": "5.7.1", 49 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 50 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 51 | "dev": true 52 | }, 53 | "shebang-command": { 54 | "version": "1.2.0", 55 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 56 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 57 | "dev": true, 58 | "requires": { 59 | "shebang-regex": "^1.0.0" 60 | } 61 | }, 62 | "shebang-regex": { 63 | "version": "1.0.0", 64 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 65 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 66 | "dev": true 67 | }, 68 | "which": { 69 | "version": "1.3.1", 70 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 71 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 72 | "dev": true, 73 | "requires": { 74 | "isexe": "^2.0.0" 75 | } 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitwarden-docs", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "build": "jekyll build", 6 | "build:watch": "jekyll serve --watch --host=0.0.0.0", 7 | "build:prod": "cross-env JEKYLL_ENV=production jekyll build", 8 | "build:prod:sub": "cross-env JEKYLL_ENV=production jekyll build --config _config.yml,_config-sub.yml" 9 | }, 10 | "devDependencies": { 11 | "cross-env": "^5.2.0" 12 | } 13 | } 14 | --------------------------------------------------------------------------------