From 9dad6908a9b5a581dc1bdf3cb61b3d6e583279ed Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 9 Oct 2025 18:33:35 +0100 Subject: [PATCH] API doc tweaks --- .scribe/endpoints/00.yaml | 1936 +------- .scribe/endpoints/01.yaml | 2856 ++++++------ .scribe/endpoints/02.yaml | 1841 +++++++- .scribe/endpoints/03.yaml | 391 +- .scribe/endpoints/04.yaml | 81 +- .scribe/endpoints/05.yaml | 169 +- .scribe/endpoints/06.yaml | 375 +- .scribe/endpoints/07.yaml | 336 +- .scribe/endpoints/08.yaml | 351 +- .scribe/endpoints/09.yaml | 502 +- .scribe/endpoints/10.yaml | 490 +- .scribe/endpoints/11.yaml | 174 +- .scribe/endpoints/12.yaml | 233 +- .scribe/endpoints/13.yaml | 117 +- .scribe/endpoints/14.yaml | 470 +- .scribe/endpoints/15.yaml | 606 ++- .scribe/endpoints/16.yaml | 372 +- .scribe/endpoints/17.yaml | 398 +- .scribe/endpoints/18.yaml | 287 +- .scribe/endpoints/19.yaml | 460 +- .scribe/endpoints/20.yaml | 373 +- .scribe/endpoints/21.yaml | 602 +-- .scribe/endpoints/22.yaml | 387 +- .scribe/endpoints/23.yaml | 993 ++++ .scribe/endpoints/24.yaml | 269 ++ app/Http/Controllers/Api/AssetsController.php | 42 +- .../Controllers/Api/ProfileController.php | 22 +- .../Controllers/Api/SettingsController.php | 19 +- app/Http/Controllers/Api/UsersController.php | 11 +- config/scribe.php | 2 +- resources/views/scribe/index.blade.php | 4033 ++++++++--------- storage/scribe/collection.json | 1587 ++++--- storage/scribe/openapi.yaml | 731 ++- 33 files changed, 10519 insertions(+), 10997 deletions(-) create mode 100644 .scribe/endpoints/23.yaml create mode 100644 .scribe/endpoints/24.yaml diff --git a/.scribe/endpoints/00.yaml b/.scribe/endpoints/00.yaml index 00d7add82d..d3b526db91 100644 --- a/.scribe/endpoints/00.yaml +++ b/.scribe/endpoints/00.yaml @@ -1,63 +1,16 @@ -name: Misc +name: Account description: '' endpoints: - - - httpMethods: - - GET - uri: api/v1 - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=jgR3H8NxpOZswCMLNyP7Jr4JSKaAduEOFuKfWsPc; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET uri: api/v1/account/requests metadata: - groupName: Misc + groupName: Account groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display a listing of requested assets.' + title: 'Display Requested Assets' description: '' authenticated: true deprecated: false @@ -86,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=sAVv5eThRkdkR5M8lrJ4D89mdhNARZZjpgTNYwbF; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=0Ofpg9lqsCx0l3dLVF9yZnquqVPTKFD2MarToo0b; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -100,12 +53,12 @@ endpoints: - GET uri: api/v1/account/eulas metadata: - groupName: Misc + groupName: Account groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display the EULAs accepted by the user.' - description: '@param \App\Http\Transformers\ActionlogsTransformer $transformer' + title: 'Display Accepted EULAs' + description: '' authenticated: true deprecated: false custom: [] @@ -133,7 +86,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=sGpQnsbOAvzzSif7RWGBnpRT3crgiMnNqGrkpJZ2; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=rxLAV3nb8Lm1vnASccPchKo5Xr1r4FFmSpQZ7iae; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -142,100 +95,16 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - POST - uri: 'api/v1/account/request/{asset_id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - asset_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/account/request/{asset_id}/cancel' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - asset_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - POST uri: api/v1/account/personal-access-tokens metadata: - groupName: Misc + groupName: Account groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete an API token' + title: 'Create API token' description: '' authenticated: true deprecated: false @@ -262,11 +131,11 @@ endpoints: - GET uri: api/v1/account/personal-access-tokens metadata: - groupName: Misc + groupName: Account groupDescription: '' subgroup: '' subgroupDescription: '' - title: "Show user's API tokens" + title: 'Show API tokens' description: '' authenticated: true deprecated: false @@ -295,7 +164,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=LNRDQR1CZpACyPTiuFMrE94N62SnROd72GbwESk2; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=EoEpl701guwl7yUoXuGM2uBS757gjJ5VProi3qdF; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -309,11 +178,11 @@ endpoints: - DELETE uri: 'api/v1/account/personal-access-tokens/{tokenId}' metadata: - groupName: Misc + groupName: Account groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete an API token' + title: 'Delete API token' description: '' authenticated: true deprecated: false @@ -346,1778 +215,3 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - POST - uri: 'api/v1/accessories/{accessory}/checkin' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Checkin Accessory' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - accessory: - name: accessory - description: 'The accessory.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - accessory: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/accessories/selectlist - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Gets a paginated collection for the select2 menus' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=yQqAcTcuPtWDcFbT5Wn7cr1VnYRw5K0GEnRqf6aX; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/hardware/{asset_id}/licenses' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - asset_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=G3alAwTqzzpBmnRgDDO2pPjTXFmzZ6usPyrFjhJ1; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/hardware/{asset_id}/assigned/components' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - asset_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=AJaxkunAlxEsroyGEAyGe505rTbVShhvJ3zae1zv; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/models/{id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Show Model' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the model.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=h32nE0HKwzQc7ss03y6gTtADpj5SPTwZahWnca9n; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/settings/ldaptest - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=xMzuu6FkX6EJwgJRpWHfXA47kwCUxYfjMYuo7fKH; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/settings/purge_barcodes - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Delete server-cached barcodes' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/settings/login-attempts - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Get a list of login attempts' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=yFgejJJjq2EpZkpb6c9p5KdS6FvafeMmSits5OhR; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/settings/ldaptestlogin - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - ldaptest_user: - name: ldaptest_user - description: '' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - ldaptest_password: - name: ldaptest_password - description: '' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - ldaptest_user: architecto - ldaptest_password: architecto - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/settings/mailtest - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Test the email configuration' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/settings/backups - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Lists backup files' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=qjjT0ujUAX45xiacm1WWNGAXHCzg829WwY9QUpTt; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/settings/backups/download/latest - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Determines and downloads the latest backup' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=G5VGebkI7Efpep55pj0YsY4IxIloqwUuNWxU8K4D; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/settings/backups/download/{file}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Downloads a backup file.' - description: |- - We use response()->download() here instead of Storage::download() because Storage::download() - exhausts memory on larger files. - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - file: - name: file - description: '' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - file: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=4OEK9LMHgIKcB4ECJAWKwyizzizwLDT4F2goIdDA; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/users/{user_id}/eulas' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Display the EULAs accepted by the user.' - description: '@param \App\Models\User $user' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - user_id: - name: user_id - description: 'The ID of the user.' - required: true - example: 2 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - user_id: 2 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=Ht9zEvd6BoGAmteUr9U0M1EhukRDU8R7sB8mSOKw; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/kits - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Display a listing of the resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=CPJbwvdCxw0DYqUMJxxi8OmNeup4BlA5rkQirAju; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/kits - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Store a newly created resource in storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/kits/{id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Display the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=EU4sT1Hqg6oKZJKuvM3vDzUQrdg41Ff7DIAwsXRf; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - - PATCH - uri: 'api/v1/kits/{id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Update the specified resource in storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/kits/{id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Remove the specified resource from storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/kits/{kit_id}/licenses' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Display the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=1qhgimw5bC0fHQGSgVgJqKcaSW42IqRJ2F4polDF; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/kits/{kit_id}/licenses' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Store the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/v1/kits/{kit_id}/licenses/{license_id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Update the specified resource in storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - license_id: - name: license_id - description: 'The ID of the license.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - license_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/kits/{kit_id}/licenses/{license_id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Remove the specified resource from storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - license_id: - name: license_id - description: 'The ID of the license.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - license_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/kits/{kit_id}/models' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Display the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=WdH9GMKFEFXrDlSabXmWC61WEVsbjEsXfzuZvGcB; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/kits/{kit_id}/models' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Store the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/kits/{kit_id}/accessories' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Display the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=WOfLcw4xJKTMbort9bqVzAXqpZ6f1qWOp8sBkfH3; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/kits/{kit_id}/accessories' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Store the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/v1/kits/{kit_id}/accessories/{accessory_id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Update the specified resource in storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - accessory_id: - name: accessory_id - description: 'The ID of the accessory.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - accessory_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/kits/{kit_id}/accessories/{accessory_id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Remove the specified resource from storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - accessory_id: - name: accessory_id - description: 'The ID of the accessory.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - accessory_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/kits/{kit_id}/consumables' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Display the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=aEC6avo9gEeVKvjyRHL2MEy5P5L3nTdocVk5flUL; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/kits/{kit_id}/consumables' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Store the specified resource.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/v1/kits/{kit_id}/consumables/{consumable_id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Update the specified resource in storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - consumable_id: - name: consumable_id - description: 'The ID of the consumable.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - consumable_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/kits/{kit_id}/consumables/{consumable_id}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Remove the specified resource from storage.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - kit_id: - name: kit_id - description: 'The ID of the kit.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - consumable_id: - name: consumable_id - description: 'The ID of the consumable.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - kit_id: architecto - consumable_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/reports/activity - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Returns Activity Report JSON.' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=c7RrS9j8xGNhya4Ts8R7yKc2ymIrPo607cHUZOOR; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/version - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Version API routes' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=z1U2ClGhYZv5iKYA4cWb5k2YHUchy9a9HUSWQNDX; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/{fallbackPlaceholder}' - metadata: - groupName: Misc - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - fallbackPlaceholder: - name: fallbackPlaceholder - description: '' - required: true - example: '|{+-0p' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - fallbackPlaceholder: '|{+-0p' - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=oM63SLXqghs9b2nURW4ZbHp9KipkcIdGDeHIP1OF; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] diff --git a/.scribe/endpoints/01.yaml b/.scribe/endpoints/01.yaml index dc64d37f3a..7a452804f7 100644 --- a/.scribe/endpoints/01.yaml +++ b/.scribe/endpoints/01.yaml @@ -1,1030 +1,16 @@ -name: Assets +name: Misc description: '' endpoints: - - - httpMethods: - - GET - uri: api/v1/account/requestable/hardware - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Show Requestable Assets' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=zbA3woO9t2FDFaBsCrozokcWxsnmbRff3VR6q67x; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/reports/depreciation - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Assets' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: - action: - name: action - description: 'The action to filter by.' - required: false - example: 'audits, checkins' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - upcoming_status: - name: upcoming_status - description: 'The status to filter by.' - required: false - example: 'due, overdue, due-or-overdue' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - status: - name: status - description: 'The asset status to filter by.' - required: false - example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - status_id: - name: status_id - description: 'The asset status ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - asset_tag: - name: asset_tag - description: 'The asset tag to filter by.' - required: false - example: ABC123 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - serial: - name: serial - description: 'The serial number to filter by.' - required: false - example: SN123456 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - requestable: - name: requestable - description: 'Filter by requestable assets.' - required: false - example: true - type: boolean - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - model_id: - name: model_id - description: 'int|array The model ID or IDs to filter by.' - required: false - example: '1 or model_id[]=1&model_id[]=2' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - category_id: - name: category_id - description: 'The category ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - location_id: - name: location_id - description: 'The location ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - rtd_location_id: - name: rtd_location_id - description: 'The RTD location ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - supplier_id: - name: supplier_id - description: 'The supplier ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - asset_eol_date: - name: asset_eol_date - description: 'date The asset end-of-life date to filter by.' - required: false - example: '2023-12-31' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - assigned_to: - name: assigned_to - description: 'The user ID or department ID the asset is assigned to.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - assigned_type: - name: assigned_type - description: "The type of assignment, either 'user' or 'department'." - required: false - example: user - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - company_id: - name: company_id - description: 'The company ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - manufacturer_id: - name: manufacturer_id - description: 'The manufacturer ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - depreciation_id: - name: depreciation_id - description: 'The depreciation ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - byod: - name: byod - description: 'Filter by BYOD assets.' - required: false - example: true - type: boolean - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - order_number: - name: order_number - description: 'The order number to filter by.' - required: false - example: PO12345 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - search: - name: search - description: 'A text string to search for.' - required: false - example: laptop - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - filter: - name: filter - description: 'A JSON object of key/value pairs to filter by.' - required: false - example: '{"status_label":"RTD","location":"Headquarters"}' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - action: 'audits, checkins' - upcoming_status: 'due, overdue, due-or-overdue' - status: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable' - status_id: 1 - asset_tag: ABC123 - serial: SN123456 - requestable: true - model_id: '1 or model_id[]=1&model_id[]=2' - category_id: 1 - location_id: 1 - rtd_location_id: 1 - supplier_id: 1 - asset_eol_date: '2023-12-31' - assigned_to: 1 - assigned_type: user - company_id: 1 - manufacturer_id: 1 - depreciation_id: 1 - byod: true - order_number: PO12345 - search: laptop - filter: '{"status_label":"RTD","location":"Headquarters"}' - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=JG7zDn5PXHPIEticUUTUZ6UYyVdD8tXbVulOATER; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/hardware/selectlist - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: Selectlist - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=16OzihBU0h4xmW2JUW0vkz5ZNEFBqsf4j0VouuKJ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/hardware/bytag/{tag}' - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Lookup by Tag' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - tag: - name: tag - description: '' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - tag: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=kwE3gnKCzQnr1FQa17AIvOYCbsRx7EeG4NWpBmPS; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/hardware/bytag/{any}' - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Lookup by Tag' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - any: - name: any - description: '' - required: true - example: '|{+-0p' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - any: '|{+-0p' - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=OvqgWEoNT96szHavg4rG0fw2ALfqiKoxLoKsii5j; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - POST - uri: 'api/v1/hardware/bytag/{any}/checkout' + uri: 'api/v1/account/request/{asset_id}' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Checkout by Asset Tag' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - any: - name: any - description: '' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - any: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/hardware/bytag/{any}/checkin' - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Checkin by Asset Tag' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - any: - name: any - description: '' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - any: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/hardware/checkinbytag - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Checkin by Asset Tag' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/hardware/byserial/{any}' - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Lookup by Serial' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - any: - name: any - description: '' - required: true - example: '|{+-0p' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - any: '|{+-0p' - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=l28ShBmk00D1YpPW9K2z6e0a6sV1PgdTWAP6E97g; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/hardware/{action}/{upcoming_status}' - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Assets' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - action: - name: action - description: '' - required: true - example: audit|audits|checkins - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - upcoming_status: - name: upcoming_status - description: '' - required: true - example: due|overdue|due-or-overdue - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - action: audit|audits|checkins - upcoming_status: due|overdue|due-or-overdue - queryParameters: - action: - name: action - description: 'The action to filter by.' - required: false - example: 'audits, checkins' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - upcoming_status: - name: upcoming_status - description: 'The status to filter by.' - required: false - example: 'due, overdue, due-or-overdue' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - status: - name: status - description: 'The asset status to filter by.' - required: false - example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - status_id: - name: status_id - description: 'The asset status ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - asset_tag: - name: asset_tag - description: 'The asset tag to filter by.' - required: false - example: ABC123 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - serial: - name: serial - description: 'The serial number to filter by.' - required: false - example: SN123456 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - requestable: - name: requestable - description: 'Filter by requestable assets.' - required: false - example: true - type: boolean - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - model_id: - name: model_id - description: 'int|array The model ID or IDs to filter by.' - required: false - example: '1 or model_id[]=1&model_id[]=2' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - category_id: - name: category_id - description: 'The category ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - location_id: - name: location_id - description: 'The location ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - rtd_location_id: - name: rtd_location_id - description: 'The RTD location ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - supplier_id: - name: supplier_id - description: 'The supplier ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - asset_eol_date: - name: asset_eol_date - description: 'date The asset end-of-life date to filter by.' - required: false - example: '2023-12-31' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - assigned_to: - name: assigned_to - description: 'The user ID or department ID the asset is assigned to.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - assigned_type: - name: assigned_type - description: "The type of assignment, either 'user' or 'department'." - required: false - example: user - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - company_id: - name: company_id - description: 'The company ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - manufacturer_id: - name: manufacturer_id - description: 'The manufacturer ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - depreciation_id: - name: depreciation_id - description: 'The depreciation ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - byod: - name: byod - description: 'Filter by BYOD assets.' - required: false - example: true - type: boolean - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - order_number: - name: order_number - description: 'The order number to filter by.' - required: false - example: PO12345 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - search: - name: search - description: 'A text string to search for.' - required: false - example: laptop - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - filter: - name: filter - description: 'A JSON object of key/value pairs to filter by.' - required: false - example: '{"status_label":"RTD","location":"Headquarters"}' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - action: 'audits, checkins' - upcoming_status: 'due, overdue, due-or-overdue' - status: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable' - status_id: 1 - asset_tag: ABC123 - serial: SN123456 - requestable: true - model_id: '1 or model_id[]=1&model_id[]=2' - category_id: 1 - location_id: 1 - rtd_location_id: 1 - supplier_id: 1 - asset_eol_date: '2023-12-31' - assigned_to: 1 - assigned_type: user - company_id: 1 - manufacturer_id: 1 - depreciation_id: 1 - byod: true - order_number: PO12345 - search: laptop - filter: '{"status_label":"RTD","location":"Headquarters"}' - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=po1MHUpzMVPhyFW97gr5Evw2gERZ28qPLmm2o3xG; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/hardware/audit - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Audit Asset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/hardware/{asset_id}/audit' - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Audit Asset' + title: '' description: '' authenticated: true deprecated: false @@ -1060,13 +46,13 @@ endpoints: - httpMethods: - POST - uri: 'api/v1/hardware/{id}/checkin' + uri: 'api/v1/account/request/{asset_id}/cancel' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Checkin Asset' + title: '' description: '' authenticated: true deprecated: false @@ -1075,18 +61,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the hardware.' + asset_id: + name: asset_id + description: 'The ID of the asset.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + asset_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1102,13 +88,13 @@ endpoints: - httpMethods: - POST - uri: 'api/v1/hardware/{id}/checkout' + uri: 'api/v1/accessories/{accessory}/checkin' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Checkout Asset' + title: 'Checkin Accessory' description: '' authenticated: true deprecated: false @@ -1117,18 +103,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the hardware.' + accessory: + name: accessory + description: 'The accessory.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + accessory: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1143,14 +129,61 @@ endpoints: custom: [] - httpMethods: - - POST - uri: 'api/v1/hardware/{asset_id}/restore' + - GET + uri: api/v1/accessories/selectlist metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Restore Asset' + title: 'Gets a paginated collection for the select2 menus' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=sHPMC2SqAZ5cAOx1UvXW3elAy3P3oiipptk2p0FZ; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/hardware/{asset_id}/licenses' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' description: '' authenticated: true deprecated: false @@ -1176,6 +209,417 @@ endpoints: bodyParameters: [] cleanBodyParameters: [] fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=KyijYcHB8a6W2I03kqLUp8Ca0jSq1NkkGSEAafJW; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/hardware/{asset_id}/assigned/components' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + asset_id: + name: asset_id + description: 'The ID of the asset.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + asset_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=DhLS17un2bga4hm36kDHWijjLccRe4D7qGWeertj; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/models/{id}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Show Model' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the model.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=jwgg1JDhWc8bhd88IkSMh8NrfSTdnbKXDnIvbazB; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/settings/login-attempts + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Get a list of login attempts' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=PixSpuAiQcKGKevpNoGvcac0DIIlsvBhhwm35Sov; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/settings/backups + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Lists backup files' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=ZdyXnJL3ZjvVbGA20TL3YJvFVtvXfMSfnMxdR0u3; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/settings/backups/download/latest + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Determines and downloads the latest backup' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=12H7czcfvhzN41bMPpVZ6uJSv3ldPqeXqxYn3Hfx; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/settings/backups/download/{file}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Downloads a backup file.' + description: |- + We use response()->download() here instead of Storage::download() because Storage::download() + exhausts memory on larger files. + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + file: + name: file + description: '' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + file: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=7262fNrfUhCtn7FC7YV1iiIZzwoF2PrBqd6Axi1d; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/kits + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=9pbW3Lj27gqsdqjf9Onr74qGlwdQxRO7HKtgdSxR; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/kits + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] responses: [] responseFields: [] auth: [] @@ -1186,13 +630,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/hardware/{asset_id}/assigned/assets' + uri: 'api/v1/kits/{id}' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Assets Assigned to Asset' + title: 'Display the specified resource.' description: '' authenticated: true deprecated: false @@ -1201,18 +645,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' + id: + name: id + description: 'The ID of the kit.' required: true - example: 1 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - asset_id: 1 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1232,7 +676,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=ZsaGl6Ma2AaF2KPBgpJclGg2NWmArGyXM3dTS3Wf; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=uskGZUp3AzQqeC2JdKpRCiJjEIuCgDp8LHywERj6; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -1241,16 +685,101 @@ endpoints: method: null route: null custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/kits/{id}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/kits/{id}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] - httpMethods: - GET - uri: 'api/v1/hardware/{asset_id}/assigned/accessories' + uri: 'api/v1/kits/{kit_id}/licenses' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Accessories Assigned to Asset' + title: 'Display the specified resource.' description: '' authenticated: true deprecated: false @@ -1259,18 +788,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' + kit_id: + name: kit_id + description: 'The ID of the kit.' required: true - example: 1 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - asset_id: 1 + kit_id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1290,7 +819,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=fVNzF7g0DnBQWaCSscY3fjVAKeGUDI0Je0PiUdHS; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=VXG7nhRBx0n9dmOU9H9g0JoiTzOuE2oWJn9foBNu; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -1301,14 +830,14 @@ endpoints: custom: [] - httpMethods: - - PATCH - uri: 'api/v1/hardware/{asset_id}' + - POST + uri: 'api/v1/kits/{kit_id}/licenses' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Asset' + title: 'Store the specified resource.' description: '' authenticated: true deprecated: false @@ -1317,75 +846,20 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' + kit_id: + name: kit_id + description: 'The ID of the kit.' required: true - example: 1 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - asset_id: 1 - queryParameters: - model_id: - name: model_id - description: 'The model ID to associate the asset with.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - company_id: - name: company_id - description: 'The company ID to associate the asset with.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - rtd_location_id: - name: rtd_location_id - description: 'The RTD location ID to associate the asset with.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - last_audit_date: - name: last_audit_date - description: 'date The last audit date for the asset.' - required: false - example: '2023-12-31' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - image: - name: image - description: 'file The image file to upload for the asset.' - required: false - example: (binary) - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - model_id: 1 - company_id: 1 - rtd_location_id: 1 - last_audit_date: '2023-12-31' - image: (binary) + kit_id: architecto + queryParameters: [] + cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -1399,13 +873,13 @@ endpoints: - httpMethods: - PUT - uri: 'api/v1/hardware/{asset_id}' + uri: 'api/v1/kits/{kit_id}/licenses/{license_id}' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Asset' + title: 'Update the specified resource in storage.' description: '' authenticated: true deprecated: false @@ -1414,426 +888,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - asset_id: 1 - queryParameters: - model_id: - name: model_id - description: 'The model ID to associate the asset with.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - company_id: - name: company_id - description: 'The company ID to associate the asset with.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - rtd_location_id: - name: rtd_location_id - description: 'The RTD location ID to associate the asset with.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - last_audit_date: - name: last_audit_date - description: 'date The last audit date for the asset.' - required: false - example: '2023-12-31' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - image: - name: image - description: 'file The image file to upload for the asset.' - required: false - example: (binary) - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - model_id: 1 - company_id: 1 - rtd_location_id: 1 - last_audit_date: '2023-12-31' - image: (binary) - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/hardware - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Assets' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: - action: - name: action - description: 'The action to filter by.' - required: false - example: 'audits, checkins' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - upcoming_status: - name: upcoming_status - description: 'The status to filter by.' - required: false - example: 'due, overdue, due-or-overdue' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - status: - name: status - description: 'The asset status to filter by.' - required: false - example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - status_id: - name: status_id - description: 'The asset status ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - asset_tag: - name: asset_tag - description: 'The asset tag to filter by.' - required: false - example: ABC123 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - serial: - name: serial - description: 'The serial number to filter by.' - required: false - example: SN123456 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - requestable: - name: requestable - description: 'Filter by requestable assets.' - required: false - example: true - type: boolean - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - model_id: - name: model_id - description: 'int|array The model ID or IDs to filter by.' - required: false - example: '1 or model_id[]=1&model_id[]=2' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - category_id: - name: category_id - description: 'The category ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - location_id: - name: location_id - description: 'The location ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - rtd_location_id: - name: rtd_location_id - description: 'The RTD location ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - supplier_id: - name: supplier_id - description: 'The supplier ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - asset_eol_date: - name: asset_eol_date - description: 'date The asset end-of-life date to filter by.' - required: false - example: '2023-12-31' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - assigned_to: - name: assigned_to - description: 'The user ID or department ID the asset is assigned to.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - assigned_type: - name: assigned_type - description: "The type of assignment, either 'user' or 'department'." - required: false - example: user - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - company_id: - name: company_id - description: 'The company ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - manufacturer_id: - name: manufacturer_id - description: 'The manufacturer ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - depreciation_id: - name: depreciation_id - description: 'The depreciation ID to filter by.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - byod: - name: byod - description: 'Filter by BYOD assets.' - required: false - example: true - type: boolean - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - order_number: - name: order_number - description: 'The order number to filter by.' - required: false - example: PO12345 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - search: - name: search - description: 'A text string to search for.' - required: false - example: laptop - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - filter: - name: filter - description: 'A JSON object of key/value pairs to filter by.' - required: false - example: '{"status_label":"RTD","location":"Headquarters"}' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - action: 'audits, checkins' - upcoming_status: 'due, overdue, due-or-overdue' - status: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable' - status_id: 1 - asset_tag: ABC123 - serial: SN123456 - requestable: true - model_id: '1 or model_id[]=1&model_id[]=2' - category_id: 1 - location_id: 1 - rtd_location_id: 1 - supplier_id: 1 - asset_eol_date: '2023-12-31' - assigned_to: 1 - assigned_type: user - company_id: 1 - manufacturer_id: 1 - depreciation_id: 1 - byod: true - order_number: PO12345 - search: laptop - filter: '{"status_label":"RTD","location":"Headquarters"}' - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=kg9RTUdMrEHyhN5Bd6bZItA5CzuWdzUopKkOGLxn; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/hardware - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Create Asset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/hardware/{hardware}' - metadata: - groupName: Assets - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Show Asset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - hardware: - name: hardware - description: 'The hardware.' + kit_id: + name: kit_id + description: 'The ID of the kit.' required: true example: architecto type: string @@ -1841,30 +898,25 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + license_id: + name: license_id + description: 'The ID of the license.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: - hardware: architecto + kit_id: architecto + license_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=VY9cDTvWn46QRUoErwcIjYLl770M2MwMI42Pg9xm; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] + responses: [] responseFields: [] auth: [] controller: null @@ -1874,13 +926,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/hardware/{hardware}' + uri: 'api/v1/kits/{kit_id}/licenses/{license_id}' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Asset' + title: 'Remove the specified resource from storage.' description: '' authenticated: true deprecated: false @@ -1889,9 +941,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - hardware: - name: hardware - description: 'The hardware.' + kit_id: + name: kit_id + description: 'The ID of the kit.' required: true example: architecto type: string @@ -1899,8 +951,19 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + license_id: + name: license_id + description: 'The ID of the license.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: - hardware: architecto + kit_id: architecto + license_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1915,14 +978,526 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/hardware/labels + - GET + uri: 'api/v1/kits/{kit_id}/models' metadata: - groupName: Assets + groupName: Misc groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Generate Label by Asset Tag' + title: 'Display the specified resource.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=KrrLKfzDmsdlm5LulANZUYoCPy9sh7nNRx3HCSmt; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/kits/{kit_id}/models' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store the specified resource.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/kits/{kit_id}/accessories' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=Ymdsfjt4VVVhtRDZjt1vEh8ftmFUrewMizYO5VZg; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/kits/{kit_id}/accessories' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store the specified resource.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/kits/{kit_id}/accessories/{accessory_id}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + accessory_id: + name: accessory_id + description: 'The ID of the accessory.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + accessory_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/kits/{kit_id}/accessories/{accessory_id}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + accessory_id: + name: accessory_id + description: 'The ID of the accessory.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + accessory_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/kits/{kit_id}/consumables' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=Ofw7nV48LnTp8SAN2B8W7nWuAw1jpI7GuFCRxc6B; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/kits/{kit_id}/consumables' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store the specified resource.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/kits/{kit_id}/consumables/{consumable_id}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + consumable_id: + name: consumable_id + description: 'The ID of the consumable.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + consumable_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/kits/{kit_id}/consumables/{consumable_id}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kit_id: + name: kit_id + description: 'The ID of the kit.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + consumable_id: + name: consumable_id + description: 'The ID of the consumable.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kit_id: architecto + consumable_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/reports/activity + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Returns Activity Report JSON.' description: '' authenticated: true deprecated: false @@ -1937,7 +1512,128 @@ endpoints: bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=zBZCXN8IrVhp0gmWImh45OcrU6cQm00sPVHDni5M; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/version + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Version API routes' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=6Cmpyzc2mOwZhTp7cE5pqa2YsN7c3q0lR8gZIOZ7; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/{fallbackPlaceholder}' + metadata: + groupName: Misc + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + fallbackPlaceholder: + name: fallbackPlaceholder + description: '' + required: true + example: '|{+-0p' + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + fallbackPlaceholder: '|{+-0p' + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=t71KbEhwD7gcUBoIZY7GnisT1MghbetA8AdH2CZo; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] responseFields: [] auth: [] controller: null diff --git a/.scribe/endpoints/02.yaml b/.scribe/endpoints/02.yaml index 6244862c76..69c8dd2c16 100644 --- a/.scribe/endpoints/02.yaml +++ b/.scribe/endpoints/02.yaml @@ -1,16 +1,16 @@ -name: Accessories +name: Assets description: '' endpoints: - httpMethods: - GET - uri: 'api/v1/accessories/{accessory}/checkedout' + uri: api/v1/account/requestable/hardware metadata: - groupName: Accessories + groupName: Assets groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Accessory Checkouts' + title: 'Show Requestable Assets' description: '' authenticated: true deprecated: false @@ -18,19 +18,8 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - accessory: - name: accessory - description: 'The accessory.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - accessory: 1 + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=wFPirCLmI5Qlpim62U5T8yvZtjqzmIGHFxQ3hzIZ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=I5MurMG2oaqg3P454RS5JwU3zOYiMQ4Mu752l0M2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -59,60 +48,16 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - POST - uri: 'api/v1/accessories/{accessory_id}/checkout' - metadata: - groupName: Accessories - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Checkout Accessory' - description: |- - If Slack is enabled and/or asset acceptance is enabled, it will also - trigger a Slack message and send an email. - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - accessory_id: - name: accessory_id - description: 'The ID of the accessory.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - accessory_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET - uri: api/v1/accessories + uri: api/v1/reports/depreciation metadata: - groupName: Accessories + groupName: Assets groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List accessories' + title: 'List Assets' description: '' authenticated: true deprecated: false @@ -123,139 +68,229 @@ endpoints: urlParameters: [] cleanUrlParameters: [] queryParameters: - search: - name: search - description: 'A search term to filter results by.' + action: + name: action + description: 'The action to filter by: audits, checkins.' required: false - example: keyboard - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - 'filter[]': - name: 'filter[]' - description: 'A field to filter by. Example' - required: false - example: architecto + example: null type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - company_id: - name: company_id - description: 'Filter by company ID.' + upcoming_status: + name: upcoming_status + description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.' required: false - example: 1 + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + status: + name: status + description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + status_id: + name: status_id + description: 'The asset status ID to filter by.' + required: false + example: null type: integer enumValues: [] - exampleWasSpecified: true + exampleWasSpecified: false + nullable: false + custom: [] + asset_tag: + name: asset_tag + description: 'The asset tag to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + serial: + name: serial + description: 'The serial number to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + requestable: + name: requestable + description: 'Filter by requestable assets.' + required: false + example: null + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + model_id: + name: model_id + description: 'The model ID or IDs to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false nullable: false custom: [] category_id: name: category_id - description: 'Filter by category ID.' + description: 'The category ID to filter by.' required: false - example: 1 + example: null type: integer enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - manufacturer_id: - name: manufacturer_id - description: 'Filter by manufacturer ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - supplier_id: - name: supplier_id - description: 'Filter by supplier ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true + exampleWasSpecified: false nullable: false custom: [] location_id: name: location_id - description: 'Filter by location ID.' + description: 'The location ID to filter by.' required: false - example: 1 + example: null type: integer enumValues: [] - exampleWasSpecified: true + exampleWasSpecified: false nullable: false custom: [] - notes: - name: notes - description: 'Filter by notes.' + rtd_location_id: + name: rtd_location_id + description: 'The RTD location ID to filter by.' required: false - example: 'For office use only' + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + supplier_id: + name: supplier_id + description: 'The supplier ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + asset_eol_date: + name: asset_eol_date + description: 'date The asset end-of-life date to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + assigned_to: + name: assigned_to + description: 'The user ID or department ID the asset is assigned to.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + assigned_type: + name: assigned_type + description: "The type of assignment, either 'user' or 'asset' or 'location'." + required: false + example: user type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - offset: - name: offset - description: 'The number of items to skip before starting to collect the result set.' + company_id: + name: company_id + description: 'The company ID to filter by.' required: false - example: 0 + example: null type: integer enumValues: [] - exampleWasSpecified: true + exampleWasSpecified: false nullable: false custom: [] - limit: - name: limit - description: 'The number of items to return.' + manufacturer_id: + name: manufacturer_id + description: 'The manufacturer ID to filter by.' required: false - example: 50 + example: null type: integer enumValues: [] - exampleWasSpecified: true + exampleWasSpecified: false nullable: false custom: [] - sort: - name: sort - description: 'The field to sort by.' + depreciation_id: + name: depreciation_id + description: 'The depreciation ID to filter by.' required: false - example: created_at - type: string + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + byod: + name: byod + description: 'Filter by BYOD assets.' + required: false + example: true + type: boolean enumValues: [] exampleWasSpecified: true nullable: false custom: [] - order: - name: order - description: 'The order to sort by.' + order_number: + name: order_number + description: 'The order number to filter by. Example:' required: false - example: desc + example: null type: string enumValues: [] - exampleWasSpecified: true + exampleWasSpecified: false + nullable: false + custom: [] + search: + name: search + description: 'A text string to search for. Example:' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + filter: + name: filter + description: 'A JSON object of key/value pairs to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false nullable: false custom: [] cleanQueryParameters: - search: keyboard - 'filter[]': architecto - company_id: 1 - category_id: 1 - manufacturer_id: 1 - supplier_id: 1 - location_id: 1 - notes: 'For office use only' - offset: 0 - limit: 50 - sort: created_at - order: desc + assigned_type: user + byod: true bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -273,7 +308,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=OWq14tCum5ZSf6uUlWPqrsC47ncQqkZgrWnXgpLB; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=lgpECl5XEBNSghyioYDAIqojY2wKWDElpBXGy0iX; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -284,14 +319,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/accessories + - GET + uri: api/v1/hardware/selectlist metadata: - groupName: Accessories + groupName: Assets groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Accessory' + title: Selectlist description: '' authenticated: true deprecated: false @@ -303,53 +338,26 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: - name: - name: name - description: 'The name of the accessory.' - required: true - example: 'Apple Bluetooth Keyboard' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - qty: - name: qty - description: 'The number of accessories to create.' - required: true - example: 10 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - category_id: - name: category_id - description: 'The ID of the category to assign this accessory to.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - image: - name: image - description: '' - required: false - example: null - type: file - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - name: 'Apple Bluetooth Keyboard' - qty: 10 - category_id: 1 + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=qCapayTz590czNpP8xSUCUUB7vdosx4mVIaOPBWt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -359,13 +367,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/accessories/{id}' + uri: 'api/v1/hardware/bytag/{tag}' metadata: - groupName: Accessories + groupName: Assets groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Accessory' + title: 'Lookup by Tag' description: '' authenticated: true deprecated: false @@ -374,18 +382,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the accessory.' + tag: + name: tag + description: '' required: true - example: 1 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + tag: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -405,7 +413,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=D7Dn1nLGrjpIg1nzsvU7qQdh6KydawNPUuwYvN3k; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=fPZtQcCA1cl8JQwmi75mxq8HdQLD3LwMhNazG9Wu; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -416,15 +424,14 @@ endpoints: custom: [] - httpMethods: - - PUT - - PATCH - uri: 'api/v1/accessories/{id}' + - GET + uri: 'api/v1/hardware/bytag/{any}' metadata: - groupName: Accessories + groupName: Assets groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update accessory.' + title: 'Lookup by Tag' description: '' authenticated: true deprecated: false @@ -433,18 +440,76 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the accessory.' + any: + name: any + description: '' required: true - example: 1 - type: integer + example: '|{+-0p' + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + any: '|{+-0p' + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=dZb1Dgz426tSKYXi764GXTAAj3txJctbfOweyf00; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/hardware/bytag/{any}/checkout' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Checkout by Asset Tag' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + any: + name: any + description: '' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + any: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -459,14 +524,14 @@ endpoints: custom: [] - httpMethods: - - DELETE - uri: 'api/v1/accessories/{id}' + - POST + uri: 'api/v1/hardware/bytag/{any}/checkin' metadata: - groupName: Accessories + groupName: Assets groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Accessory' + title: 'Checkin by Asset Tag' description: '' authenticated: true deprecated: false @@ -475,18 +540,1338 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the accessory.' + any: + name: any + description: '' required: true - example: 1 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + any: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/hardware/checkinbytag + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Checkin by Asset Tag' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/hardware/byserial/{any}' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Lookup by Serial' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + any: + name: any + description: '' + required: true + example: '|{+-0p' + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + any: '|{+-0p' + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=bLKbCN3YL113zwHdqIHbDf55MnHhuzLviaE9Ki5w; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/hardware/{action}/{upcoming_status}' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Assets' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + action: + name: action + description: '' + required: true + example: audit|audits|checkins + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + upcoming_status: + name: upcoming_status + description: '' + required: true + example: due|overdue|due-or-overdue + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + action: audit|audits|checkins + upcoming_status: due|overdue|due-or-overdue + queryParameters: + action: + name: action + description: 'The action to filter by: audits, checkins.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + upcoming_status: + name: upcoming_status + description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + status: + name: status + description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + status_id: + name: status_id + description: 'The asset status ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + asset_tag: + name: asset_tag + description: 'The asset tag to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + serial: + name: serial + description: 'The serial number to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + requestable: + name: requestable + description: 'Filter by requestable assets.' + required: false + example: null + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + model_id: + name: model_id + description: 'The model ID or IDs to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + category_id: + name: category_id + description: 'The category ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + location_id: + name: location_id + description: 'The location ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + rtd_location_id: + name: rtd_location_id + description: 'The RTD location ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + supplier_id: + name: supplier_id + description: 'The supplier ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + asset_eol_date: + name: asset_eol_date + description: 'date The asset end-of-life date to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + assigned_to: + name: assigned_to + description: 'The user ID or department ID the asset is assigned to.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + assigned_type: + name: assigned_type + description: "The type of assignment, either 'user' or 'asset' or 'location'." + required: false + example: user + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + company_id: + name: company_id + description: 'The company ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + manufacturer_id: + name: manufacturer_id + description: 'The manufacturer ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + depreciation_id: + name: depreciation_id + description: 'The depreciation ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + byod: + name: byod + description: 'Filter by BYOD assets.' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + order_number: + name: order_number + description: 'The order number to filter by. Example:' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + search: + name: search + description: 'A text string to search for. Example:' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + filter: + name: filter + description: 'A JSON object of key/value pairs to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanQueryParameters: + assigned_type: user + byod: true + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=zsk5qqmCwDDO0urpMTuPWVeAIk8EVCCFWJVsfYNt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/hardware/audit + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Audit Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/hardware/{asset_id}/audit' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Audit Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + asset_id: + name: asset_id + description: 'The ID of the asset.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + asset_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/hardware/{id}/checkin' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Checkin Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the hardware.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/hardware/{id}/checkout' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Checkout Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the hardware.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/hardware/{asset_id}/restore' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Restore Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + asset_id: + name: asset_id + description: 'The ID of the asset.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + asset_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/hardware/{asset_id}/assigned/assets' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Assets Assigned to Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + asset_id: + name: asset_id + description: 'The ID of the asset.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + asset_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=yDpxz34OvmUXAUrWAmvqPUqBx0jSrBqASwWCkPI3; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/hardware/{asset_id}/assigned/accessories' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Accessories Assigned to Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + asset_id: + name: asset_id + description: 'The ID of the asset.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + asset_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=HupEzsHnneFUARG0m2OmnG9MYetucXa0onvgcprT; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/hardware/{asset_id}' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + asset_id: + name: asset_id + description: 'The ID of the asset.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + asset_id: 1 + queryParameters: + model_id: + name: model_id + description: 'The model ID to associate the asset with.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + company_id: + name: company_id + description: 'The company ID to associate the asset with.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + rtd_location_id: + name: rtd_location_id + description: 'The RTD location ID to associate the asset with.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + last_audit_date: + name: last_audit_date + description: 'date The last audit date for the asset.' + required: false + example: '2023-12-31' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + image: + name: image + description: 'file The image file to upload for the asset.' + required: false + example: (binary) + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + cleanQueryParameters: + model_id: 1 + company_id: 1 + rtd_location_id: 1 + last_audit_date: '2023-12-31' + image: (binary) + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/hardware/{asset_id}' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + asset_id: + name: asset_id + description: 'The ID of the asset.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + asset_id: 1 + queryParameters: + model_id: + name: model_id + description: 'The model ID to associate the asset with.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + company_id: + name: company_id + description: 'The company ID to associate the asset with.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + rtd_location_id: + name: rtd_location_id + description: 'The RTD location ID to associate the asset with.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + last_audit_date: + name: last_audit_date + description: 'date The last audit date for the asset.' + required: false + example: '2023-12-31' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + image: + name: image + description: 'file The image file to upload for the asset.' + required: false + example: (binary) + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + cleanQueryParameters: + model_id: 1 + company_id: 1 + rtd_location_id: 1 + last_audit_date: '2023-12-31' + image: (binary) + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/hardware + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Assets' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + action: + name: action + description: 'The action to filter by: audits, checkins.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + upcoming_status: + name: upcoming_status + description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + status: + name: status + description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + status_id: + name: status_id + description: 'The asset status ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + asset_tag: + name: asset_tag + description: 'The asset tag to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + serial: + name: serial + description: 'The serial number to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + requestable: + name: requestable + description: 'Filter by requestable assets.' + required: false + example: null + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + model_id: + name: model_id + description: 'The model ID or IDs to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + category_id: + name: category_id + description: 'The category ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + location_id: + name: location_id + description: 'The location ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + rtd_location_id: + name: rtd_location_id + description: 'The RTD location ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + supplier_id: + name: supplier_id + description: 'The supplier ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + asset_eol_date: + name: asset_eol_date + description: 'date The asset end-of-life date to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + assigned_to: + name: assigned_to + description: 'The user ID or department ID the asset is assigned to.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + assigned_type: + name: assigned_type + description: "The type of assignment, either 'user' or 'asset' or 'location'." + required: false + example: user + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + company_id: + name: company_id + description: 'The company ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + manufacturer_id: + name: manufacturer_id + description: 'The manufacturer ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + depreciation_id: + name: depreciation_id + description: 'The depreciation ID to filter by.' + required: false + example: null + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + byod: + name: byod + description: 'Filter by BYOD assets.' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + order_number: + name: order_number + description: 'The order number to filter by. Example:' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + search: + name: search + description: 'A text string to search for. Example:' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + filter: + name: filter + description: 'A JSON object of key/value pairs to filter by.' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanQueryParameters: + assigned_type: user + byod: true + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=4zHcglQOUm8Q0GcRLew8uq1Jq8rfXF4QhK6SWBiu; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/hardware + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Create Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/hardware/{hardware}' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Show Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + hardware: + name: hardware + description: 'The hardware.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + hardware: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=9oSVzGufN6TNj7OK4IZEgBauebliSH1E23tNbams; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/hardware/{hardware}' + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Delete Asset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + hardware: + name: hardware + description: 'The hardware.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + hardware: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/hardware/labels + metadata: + groupName: Assets + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Generate Label by Asset Tag' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/03.yaml b/.scribe/endpoints/03.yaml index 528e398299..0358078fc2 100644 --- a/.scribe/endpoints/03.yaml +++ b/.scribe/endpoints/03.yaml @@ -1,16 +1,16 @@ -name: Categories +name: Accessories description: '' endpoints: - httpMethods: - GET - uri: 'api/v1/categories/{item_type}/selectlist' + uri: 'api/v1/accessories/{accessory}/checkedout' metadata: - groupName: Categories + groupName: Accessories groupDescription: '' subgroup: '' subgroupDescription: '' - title: Selectlist + title: 'Show Accessory Checkouts' description: '' authenticated: true deprecated: false @@ -19,18 +19,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - item_type: - name: item_type - description: '' + accessory: + name: accessory + description: 'The accessory.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - item_type: architecto + accessory: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,54 +50,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=YjsDKEO59Ug1gUfonLIOiJ6nJKwstpQ8zTMzVJKN; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/categories - metadata: - groupName: Categories - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Categories' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=JeD8GYZ5kJID9j3qGs8ieaUbZiCqCENvfiUv6m5g; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=4xsr65A4AFjnEtAOzz8268YNOMlBA0vQLeN2KDp0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -109,22 +62,35 @@ endpoints: - httpMethods: - POST - uri: api/v1/categories + uri: 'api/v1/accessories/{accessory_id}/checkout' metadata: - groupName: Categories + groupName: Accessories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Category' - description: '' + title: 'Checkout Accessory' + description: |- + If Slack is enabled and/or asset acceptance is enabled, it will also + trigger a Slack message and send an email. authenticated: true deprecated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: [] - cleanUrlParameters: [] + urlParameters: + accessory_id: + name: accessory_id + description: 'The ID of the accessory.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + accessory_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -140,13 +106,266 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/categories/{id}' + uri: api/v1/accessories metadata: - groupName: Categories + groupName: Accessories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Category' + title: 'List accessories' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + search: + name: search + description: 'A search term to filter results by.' + required: false + example: keyboard + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + 'filter[]': + name: 'filter[]' + description: 'A field to filter by. Example' + required: false + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + company_id: + name: company_id + description: 'Filter by company ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + category_id: + name: category_id + description: 'Filter by category ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + manufacturer_id: + name: manufacturer_id + description: 'Filter by manufacturer ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + supplier_id: + name: supplier_id + description: 'Filter by supplier ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + location_id: + name: location_id + description: 'Filter by location ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + notes: + name: notes + description: 'Filter by notes.' + required: false + example: 'For office use only' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + offset: + name: offset + description: 'The number of items to skip before starting to collect the result set.' + required: false + example: 0 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + limit: + name: limit + description: 'The number of items to return.' + required: false + example: 50 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + sort: + name: sort + description: 'The field to sort by.' + required: false + example: created_at + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + order: + name: order + description: 'The order to sort by.' + required: false + example: desc + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + cleanQueryParameters: + search: keyboard + 'filter[]': architecto + company_id: 1 + category_id: 1 + manufacturer_id: 1 + supplier_id: 1 + location_id: 1 + notes: 'For office use only' + offset: 0 + limit: 50 + sort: created_at + order: desc + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=Fz1Mp9Wc39HRit2HoHC1gn3IUFaLtitvdOOsLXRc; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/accessories + metadata: + groupName: Accessories + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Create Accessory' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'The name of the accessory.' + required: true + example: 'Apple Bluetooth Keyboard' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + qty: + name: qty + description: 'The number of accessories to create.' + required: true + example: 10 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + category_id: + name: category_id + description: 'The ID of the category to assign this accessory to.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + image: + name: image + description: '' + required: false + example: null + type: file + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: 'Apple Bluetooth Keyboard' + qty: 10 + category_id: 1 + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/accessories/{id}' + metadata: + groupName: Accessories + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Show Accessory' description: '' authenticated: true deprecated: false @@ -157,16 +376,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the category.' + description: 'The ID of the accessory.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -186,7 +405,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=a8fBNBsCZ6g90kBLOVyTdMxkPqeYMaXj3CcsLxHQ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=qecJ95XCfKjx7KpLEN1GMOu6oyWTUCQ0sgYxOcnr; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -199,13 +418,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/categories/{id}' + uri: 'api/v1/accessories/{id}' metadata: - groupName: Categories + groupName: Accessories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Category' + title: 'Update accessory.' description: '' authenticated: true deprecated: false @@ -216,16 +435,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the category.' + description: 'The ID of the accessory.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -241,13 +460,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/categories/{id}' + uri: 'api/v1/accessories/{id}' metadata: - groupName: Categories + groupName: Accessories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Category' + title: 'Delete Accessory' description: '' authenticated: true deprecated: false @@ -258,16 +477,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the category.' + description: 'The ID of the accessory.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/04.yaml b/.scribe/endpoints/04.yaml index 16d2484960..87784bafa0 100644 --- a/.scribe/endpoints/04.yaml +++ b/.scribe/endpoints/04.yaml @@ -1,12 +1,12 @@ -name: Companies +name: Categories description: '' endpoints: - httpMethods: - GET - uri: api/v1/companies/selectlist + uri: 'api/v1/categories/{item_type}/selectlist' metadata: - groupName: Companies + groupName: Categories groupDescription: '' subgroup: '' subgroupDescription: '' @@ -18,8 +18,19 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: [] - cleanUrlParameters: [] + urlParameters: + item_type: + name: item_type + description: '' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + item_type: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -39,7 +50,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=tM8jGck3i8WEBJ4ZzPsqkPtrRHjdwWJIII7QwxyE; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=AZo0eAfOOUQnsCZDbtqlMBcKQqUPojbAawxU7LZX; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -51,13 +62,13 @@ endpoints: - httpMethods: - GET - uri: api/v1/companies + uri: api/v1/categories metadata: - groupName: Companies + groupName: Categories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Companies' + title: 'List Categories' description: '' authenticated: true deprecated: false @@ -86,7 +97,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=JQLQBHma98I64t9cecIxazcdG6DPdujDMkO11Xt0; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=8bSKu4dMOYJ9RLZoDoR1hc2MCjBohtq71eEtYOw2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -98,13 +109,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/companies + uri: api/v1/categories metadata: - groupName: Companies + groupName: Categories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Company' + title: 'Create Category' description: '' authenticated: true deprecated: false @@ -129,13 +140,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/companies/{id}' + uri: 'api/v1/categories/{id}' metadata: - groupName: Companies + groupName: Categories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Company' + title: 'Show Category' description: '' authenticated: true deprecated: false @@ -146,16 +157,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the company.' + description: 'The ID of the category.' required: true - example: 1 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -175,7 +186,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=k6BXuD9WRk8WNPWcvfIKRHQKsmzjnhPPfukWphRU; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=Gnx8F3DAxbo1BxPMKDEaIwjeOWO4DSOqrNjpBWcl; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -188,13 +199,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/companies/{id}' + uri: 'api/v1/categories/{id}' metadata: - groupName: Companies + groupName: Categories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Company' + title: 'Update Category' description: '' authenticated: true deprecated: false @@ -205,16 +216,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the company.' + description: 'The ID of the category.' required: true - example: 1 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -230,13 +241,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/companies/{id}' + uri: 'api/v1/categories/{id}' metadata: - groupName: Companies + groupName: Categories groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Company' + title: 'Delete Category' description: '' authenticated: true deprecated: false @@ -247,16 +258,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the company.' + description: 'The ID of the category.' required: true - example: 1 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/05.yaml b/.scribe/endpoints/05.yaml index a7eb7d4235..2de7532d61 100644 --- a/.scribe/endpoints/05.yaml +++ b/.scribe/endpoints/05.yaml @@ -1,12 +1,12 @@ -name: Departments +name: Companies description: '' endpoints: - httpMethods: - GET - uri: api/v1/departments/selectlist + uri: api/v1/companies/selectlist metadata: - groupName: Departments + groupName: Companies groupDescription: '' subgroup: '' subgroupDescription: '' @@ -39,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=q39mzTRuKTXhiFNT9X71Saja38lJQAENLyU0KAIL; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=39j1TJ4u77vkwpPWdJ21Af8JdFBwVE1mHHQwwKnV; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -51,13 +51,13 @@ endpoints: - httpMethods: - GET - uri: api/v1/departments + uri: api/v1/companies metadata: - groupName: Departments + groupName: Companies groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Departments' + title: 'List Companies' description: '' authenticated: true deprecated: false @@ -67,107 +67,8 @@ endpoints: Accept: application/json urlParameters: [] cleanUrlParameters: [] - queryParameters: - search: - name: search - description: 'Search term to filter results.' - required: false - example: IT - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - name: - name: name - description: 'Filter by exact department name.' - required: false - example: IT - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - company_id: - name: company_id - description: 'Filter by exact company ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - manager_id: - name: manager_id - description: 'Filter by exact manager (user) ID. Example:' - required: false - example: 16 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - location_id: - name: location_id - description: 'Filter by exact location ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - sort: - name: sort - description: 'Column to sort results by. Allowed values: id, name, image, users_count, notes, created_at, updated_at, location, manager, company. Default: created_at.' - required: false - example: name - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - order: - name: order - description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.' - required: false - example: asc - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - offset: - name: offset - description: 'Offset/starting position of the results. Default: 0.' - required: false - example: 0 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - limit: - name: limit - description: 'Limit the number of results returned. Default: 25. Maximum: 100.' - required: false - example: 50 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - search: IT - name: IT - company_id: 1 - manager_id: 16 - location_id: 1 - sort: name - order: asc - offset: 0 - limit: 50 + queryParameters: [] + cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -185,7 +86,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=psliGrHoU0KWxlZ0WtN7bz5I0G6iOpUdq8dmhAM9; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=YPCXSxw1BCbGdh5TSF65HX2Cum5gdCSSHn0drIo5; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -197,13 +98,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/departments + uri: api/v1/companies metadata: - groupName: Departments + groupName: Companies groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Department' + title: 'Create Company' description: '' authenticated: true deprecated: false @@ -228,13 +129,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/departments/{id}' + uri: 'api/v1/companies/{id}' metadata: - groupName: Departments + groupName: Companies groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Department' + title: 'Show Company' description: '' authenticated: true deprecated: false @@ -245,16 +146,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the department.' + description: 'The ID of the company.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -274,7 +175,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=8RjAJLgSPWQqA2O7ew4upuiEyMwFy9gpyczV3LCp; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=rIdjimWLcOlAK7wmJmYroxWHNNVscnRRm0lbYcpf; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -287,13 +188,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/departments/{id}' + uri: 'api/v1/companies/{id}' metadata: - groupName: Departments + groupName: Companies groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Department' + title: 'Update Company' description: '' authenticated: true deprecated: false @@ -304,16 +205,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the department.' + description: 'The ID of the company.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -329,13 +230,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/departments/{id}' + uri: 'api/v1/companies/{id}' metadata: - groupName: Departments + groupName: Companies groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Department' + title: 'Delete Company' description: '' authenticated: true deprecated: false @@ -346,16 +247,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the department.' + description: 'The ID of the company.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/06.yaml b/.scribe/endpoints/06.yaml index e483282b9a..3e17640deb 100644 --- a/.scribe/endpoints/06.yaml +++ b/.scribe/endpoints/06.yaml @@ -1,16 +1,16 @@ -name: Components +name: Departments description: '' endpoints: - httpMethods: - GET - uri: 'api/v1/components/{component}/assets' + uri: api/v1/departments/selectlist metadata: - groupName: Components + groupName: Departments groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Component Assets' + title: Selectlist description: '' authenticated: true deprecated: false @@ -18,19 +18,8 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - component: - name: component - description: 'The component.' - required: true - example: 3 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - component: 3 + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,7 +39,153 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=cBJMElHNIOAyns5sTaQs1opPLly1pw5jQdPxYFTG; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=HX1E99230RsSiSAYyYt8ymjo93rW1Po4Y2iaHBbY; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/departments + metadata: + groupName: Departments + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Departments' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + search: + name: search + description: 'Search term to filter results.' + required: false + example: IT + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + name: + name: name + description: 'Filter by exact department name.' + required: false + example: IT + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + company_id: + name: company_id + description: 'Filter by exact company ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + manager_id: + name: manager_id + description: 'Filter by exact manager (user) ID. Example:' + required: false + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + location_id: + name: location_id + description: 'Filter by exact location ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + sort: + name: sort + description: 'Column to sort results by. Allowed values: id, name, image, users_count, notes, created_at, updated_at, location, manager, company. Default: created_at.' + required: false + example: name + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + order: + name: order + description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.' + required: false + example: asc + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + offset: + name: offset + description: 'Offset/starting position of the results. Default: 0.' + required: false + example: 0 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + limit: + name: limit + description: 'Limit the number of results returned. Default: 25. Maximum: 100.' + required: false + example: 50 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + cleanQueryParameters: + search: IT + name: IT + company_id: 1 + manager_id: 16 + location_id: 1 + sort: name + order: asc + offset: 0 + limit: 50 + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=H1fi0QDG96zZ4zAFyyfP6RXjquDCstRQiT25jXQ7; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -62,13 +197,13 @@ endpoints: - httpMethods: - POST - uri: 'api/v1/components/{id}/checkin' + uri: api/v1/departments metadata: - groupName: Components + groupName: Departments groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Checkin Component' + title: 'Create Department' description: '' authenticated: true deprecated: false @@ -76,19 +211,8 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the component.' - required: true - example: 3 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: 3 + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -103,14 +227,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: 'api/v1/components/{id}/checkout' + - GET + uri: 'api/v1/departments/{id}' metadata: - groupName: Components + groupName: Departments groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Checkout Component' + title: 'Show Department' description: '' authenticated: true deprecated: false @@ -121,22 +245,7 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the component.' - required: true - example: 3 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: 3 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - assigned_to: - name: assigned_to - description: 'The id of an existing record in the assets table.' + description: 'The ID of the department.' required: true example: architecto type: string @@ -144,134 +253,8 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - assigned_qty: - name: assigned_qty - description: '' - required: false - example: null - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - assigned_to: architecto - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/components - metadata: - groupName: Components - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Categories' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=7kQLg1kCKp2DfUWV5mcP2utNrb5TwvWZ3zqGDTtW; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/components - metadata: - groupName: Components - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Create Component' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/components/{id}' - metadata: - groupName: Components - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Show Component' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the component.' - required: true - example: 3 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] cleanUrlParameters: - id: 3 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -291,7 +274,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=5v9ZEo0rEJmMnaEKE1GPxtDyQf3zm8k0JnwrJ2Mr; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=XksLdkSCcvKWuJHct75vHD6lb5PcsiRS9PR1K9SR; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -304,13 +287,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/components/{id}' + uri: 'api/v1/departments/{id}' metadata: - groupName: Components + groupName: Departments groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Component' + title: 'Update Department' description: '' authenticated: true deprecated: false @@ -321,16 +304,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the component.' + description: 'The ID of the department.' required: true - example: 3 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 3 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -346,13 +329,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/components/{id}' + uri: 'api/v1/departments/{id}' metadata: - groupName: Components + groupName: Departments groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Component' + title: 'Delete Department' description: '' authenticated: true deprecated: false @@ -363,16 +346,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the component.' + description: 'The ID of the department.' required: true - example: 3 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 3 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/07.yaml b/.scribe/endpoints/07.yaml index b0190f5002..29ccab2022 100644 --- a/.scribe/endpoints/07.yaml +++ b/.scribe/endpoints/07.yaml @@ -1,63 +1,16 @@ -name: Consumables +name: Components description: '' endpoints: - httpMethods: - GET - uri: api/v1/consumables/selectlist + uri: 'api/v1/components/{component}/assets' metadata: - groupName: Consumables + groupName: Components groupDescription: '' subgroup: '' subgroupDescription: '' - title: Selectlist - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=GB19xzV614mIPJYtBLHApC3bBgXqGWsWivI7zZJa; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/consumables/{id}/users' - metadata: - groupName: Consumables - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'User Assignments' + title: 'Component Assets' description: '' authenticated: true deprecated: false @@ -66,18 +19,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the consumable.' + component: + name: component + description: 'The component.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + component: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -97,7 +50,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=YxRN1WGYzVhO1TIWTVq8bzrulbH7yotfLBGIsS80; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=l69hDtPUivTY3RkjLz37pbj2GKnC3BLNAOunKiEY; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -109,13 +62,13 @@ endpoints: - httpMethods: - POST - uri: 'api/v1/consumables/{consumable}/checkout' + uri: 'api/v1/components/{id}/checkin' metadata: - groupName: Consumables + groupName: Components groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Checkout Consumable' + title: 'Checkin Component' description: '' authenticated: true deprecated: false @@ -124,18 +77,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - consumable: - name: consumable - description: 'The consumable.' + id: + name: id + description: 'The ID of the component.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - consumable: 1 + id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -150,14 +103,77 @@ endpoints: custom: [] - httpMethods: - - GET - uri: api/v1/consumables + - POST + uri: 'api/v1/components/{id}/checkout' metadata: - groupName: Consumables + groupName: Components groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Consumables' + title: 'Checkout Component' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the component.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + assigned_to: + name: assigned_to + description: 'The id of an existing record in the assets table.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + assigned_qty: + name: assigned_qty + description: '' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + assigned_to: architecto + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/components + metadata: + groupName: Components + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Categories' description: '' authenticated: true deprecated: false @@ -167,140 +183,8 @@ endpoints: Accept: application/json urlParameters: [] cleanUrlParameters: [] - queryParameters: - filter: - name: filter - description: 'A JSON encoded array of key/value pairs to filter results by.' - required: false - example: '{"company":"1","location":"2"}' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - search: - name: search - description: 'A search term to filter results by.' - required: false - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - name: - name: name - description: 'Filter by exact name.' - required: false - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - company_id: - name: company_id - description: 'Filter by exact company ID.' - required: false - example: 16 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - category_id: - name: category_id - description: 'Filter by exact category ID.' - required: false - example: 16 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - model_number: - name: model_number - description: 'Filter by exact model number.' - required: false - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - manufacturer_id: - name: manufacturer_id - description: 'Filter by exact manufacturer ID.' - required: false - example: 16 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - supplier_id: - name: supplier_id - description: 'Filter by exact supplier ID.' - required: false - example: 16 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - location_id: - name: location_id - description: 'Filter by exact location ID.' - required: false - example: 16 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - notes: - name: notes - description: 'Filter by exact notes.' - required: false - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - sort: - name: sort - description: 'The column to sort results by. Must be one of the following: id, name, order_number, min_amt, purchase_date, purchase_cost, company, category, model_number, item_no, manufacturer, location, qty, image, company, location, category, supplier, manufacturer. Default is created_at.' - required: false - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - order: - name: order - description: 'The order to sort results by. Must be one of the following: asc, desc. Default is desc.' - required: false - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanQueryParameters: - filter: '{"company":"1","location":"2"}' - search: architecto - name: architecto - company_id: 16 - category_id: 16 - model_number: architecto - manufacturer_id: 16 - supplier_id: 16 - location_id: 16 - notes: architecto - sort: architecto - order: architecto + queryParameters: [] + cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -318,7 +202,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=TB6zCcPHXL51nzidsogy0zvGndilq7Mm6KrY2UXJ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=B9zjvAcjCF6c2d57F3g71TaOvN54OFQRaK7gd2OC; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -330,13 +214,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/consumables + uri: api/v1/components metadata: - groupName: Consumables + groupName: Components groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: 'Create Component' description: '' authenticated: true deprecated: false @@ -361,13 +245,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/consumables/{id}' + uri: 'api/v1/components/{id}' metadata: - groupName: Consumables + groupName: Components groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Consumable' + title: 'Show Component' description: '' authenticated: true deprecated: false @@ -378,16 +262,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the consumable.' + description: 'The ID of the component.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -407,7 +291,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=E5h64TTOIO4p5SWsPcRDUTke4NwczjffRUUjivOg; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=g1FUyaIOABzelOVQTQ3FLYuQ9B1VVxwzjW0w2wTm; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -420,13 +304,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/consumables/{id}' + uri: 'api/v1/components/{id}' metadata: - groupName: Consumables + groupName: Components groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Consumable' + title: 'Update Component' description: '' authenticated: true deprecated: false @@ -437,16 +321,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the consumable.' + description: 'The ID of the component.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -462,13 +346,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/consumables/{id}' + uri: 'api/v1/components/{id}' metadata: - groupName: Consumables + groupName: Components groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Consumable' + title: 'Delete Component' description: '' authenticated: true deprecated: false @@ -479,16 +363,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the consumable.' + description: 'The ID of the component.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 1 + id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/08.yaml b/.scribe/endpoints/08.yaml index 11e3a81a4a..098863e6e9 100644 --- a/.scribe/endpoints/08.yaml +++ b/.scribe/endpoints/08.yaml @@ -1,16 +1,16 @@ -name: Depreciations +name: Consumables description: '' endpoints: - httpMethods: - GET - uri: api/v1/depreciations + uri: api/v1/consumables/selectlist metadata: - groupName: Depreciations + groupName: Consumables groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Depreciations' + title: Selectlist description: '' authenticated: true deprecated: false @@ -39,7 +39,65 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=rYOmiCCFOGpmfN0yPDBdmqW7E9d8hswPlUujyo4P; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=ZmtPy0SxU3PM1BVAf3KTTVAmGBTSDy0jt43OqiqE; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/consumables/{id}/users' + metadata: + groupName: Consumables + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'User Assignments' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the consumable.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=pndgboXKoez4z1LtbisqkbVctfXxddINm8ik5aiy; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -51,13 +109,234 @@ endpoints: - httpMethods: - POST - uri: api/v1/depreciations + uri: 'api/v1/consumables/{consumable}/checkout' metadata: - groupName: Depreciations + groupName: Consumables groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Depreciation' + title: 'Checkout Consumable' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + consumable: + name: consumable + description: 'The consumable.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + consumable: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/consumables + metadata: + groupName: Consumables + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Consumables' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + filter: + name: filter + description: 'A JSON encoded array of key/value pairs to filter results by.' + required: false + example: '{"company":"1","location":"2"}' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + search: + name: search + description: 'A search term to filter results by.' + required: false + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + name: + name: name + description: 'Filter by exact name.' + required: false + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + company_id: + name: company_id + description: 'Filter by exact company ID.' + required: false + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + category_id: + name: category_id + description: 'Filter by exact category ID.' + required: false + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + model_number: + name: model_number + description: 'Filter by exact model number.' + required: false + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + manufacturer_id: + name: manufacturer_id + description: 'Filter by exact manufacturer ID.' + required: false + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + supplier_id: + name: supplier_id + description: 'Filter by exact supplier ID.' + required: false + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + location_id: + name: location_id + description: 'Filter by exact location ID.' + required: false + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + notes: + name: notes + description: 'Filter by exact notes.' + required: false + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + sort: + name: sort + description: 'The column to sort results by. Must be one of the following: id, name, order_number, min_amt, purchase_date, purchase_cost, company, category, model_number, item_no, manufacturer, location, qty, image, company, location, category, supplier, manufacturer. Default is created_at.' + required: false + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + order: + name: order + description: 'The order to sort results by. Must be one of the following: asc, desc. Default is desc.' + required: false + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanQueryParameters: + filter: '{"company":"1","location":"2"}' + search: architecto + name: architecto + company_id: 16 + category_id: 16 + model_number: architecto + manufacturer_id: 16 + supplier_id: 16 + location_id: 16 + notes: architecto + sort: architecto + order: architecto + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=QDIxyIp54OjpdRDaNqLN9XhiRzqNjrFZCXkhHwid; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/consumables + metadata: + groupName: Consumables + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' description: '' authenticated: true deprecated: false @@ -82,13 +361,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/depreciations/{depreciation_id}' + uri: 'api/v1/consumables/{id}' metadata: - groupName: Depreciations + groupName: Consumables groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Depreciation' + title: 'Show Consumable' description: '' authenticated: true deprecated: false @@ -97,18 +376,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - depreciation_id: - name: depreciation_id - description: 'The ID of the depreciation.' + id: + name: id + description: 'The ID of the consumable.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - depreciation_id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -128,7 +407,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=wJKmqPQkUusAB4HQq2NbZHKAzkslnIQx7HcXkw0k; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=Ah3XSaDo34D1PxIpQ8pDuauDLYl0RzOxRcI79MjZ; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -141,13 +420,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/depreciations/{depreciation_id}' + uri: 'api/v1/consumables/{id}' metadata: - groupName: Depreciations + groupName: Consumables groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Depreciation' + title: 'Update Consumable' description: '' authenticated: true deprecated: false @@ -156,18 +435,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - depreciation_id: - name: depreciation_id - description: 'The ID of the depreciation.' + id: + name: id + description: 'The ID of the consumable.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - depreciation_id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -183,13 +462,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/depreciations/{depreciation_id}' + uri: 'api/v1/consumables/{id}' metadata: - groupName: Depreciations + groupName: Consumables groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Depreciation' + title: 'Delete Consumable' description: '' authenticated: true deprecated: false @@ -198,18 +477,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - depreciation_id: - name: depreciation_id - description: 'The ID of the depreciation.' + id: + name: id + description: 'The ID of the consumable.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - depreciation_id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/09.yaml b/.scribe/endpoints/09.yaml index 27f8cb28da..8edf39805a 100644 --- a/.scribe/endpoints/09.yaml +++ b/.scribe/endpoints/09.yaml @@ -1,142 +1,16 @@ -name: 'Custom Fields' +name: Depreciations description: '' endpoints: - - - httpMethods: - - POST - uri: 'api/v1/fields/fieldsets/{id}/order' - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Reorder Fields' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the fieldset.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/fields/{field}/associate' - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Add Field to Fieldset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - field: - name: field - description: 'The field.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - field: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/fields/{field}/disassociate' - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Remove Field from Fieldset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - field: - name: field - description: 'The field.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - field: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET - uri: api/v1/fields + uri: api/v1/depreciations metadata: - groupName: 'Custom Fields' + groupName: Depreciations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Custom Fields' + title: 'List Depreciations' description: '' authenticated: true deprecated: false @@ -165,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=99zGltIEXJoPssIuY5kdHPhF5WF5aNkP5tfz2L33; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=kjoK9tIvADO49x8wh7YBfUbHLwfFmZiogfxlIx8e; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -177,13 +51,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/fields + uri: api/v1/depreciations metadata: - groupName: 'Custom Fields' + groupName: Depreciations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Field' + title: 'Create Depreciation' description: '' authenticated: true deprecated: false @@ -208,13 +82,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/fields/{field}' + uri: 'api/v1/depreciations/{depreciation_id}' metadata: - groupName: 'Custom Fields' + groupName: Depreciations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Field' + title: 'Show Depreciation' description: '' authenticated: true deprecated: false @@ -223,9 +97,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - field: - name: field - description: 'The field.' + depreciation_id: + name: depreciation_id + description: 'The ID of the depreciation.' required: true example: architecto type: string @@ -234,7 +108,7 @@ endpoints: nullable: false custom: [] cleanUrlParameters: - field: architecto + depreciation_id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -254,7 +128,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=9OK5wTM6hJF8UC7pVlzDFdbw1hlxnaTRgbMVPdbr; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=PcuDIeeJRqicdRSHDLcDpUjTfLN1Xz8JRFkdnbYB; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -267,13 +141,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/fields/{field}' + uri: 'api/v1/depreciations/{depreciation_id}' metadata: - groupName: 'Custom Fields' + groupName: Depreciations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Field' + title: 'Update Depreciation' description: '' authenticated: true deprecated: false @@ -282,9 +156,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - field: - name: field - description: 'The field.' + depreciation_id: + name: depreciation_id + description: 'The ID of the depreciation.' required: true example: architecto type: string @@ -293,7 +167,7 @@ endpoints: nullable: false custom: [] cleanUrlParameters: - field: architecto + depreciation_id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -309,13 +183,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/fields/{field}' + uri: 'api/v1/depreciations/{depreciation_id}' metadata: - groupName: 'Custom Fields' + groupName: Depreciations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Field' + title: 'Delete Depreciation' description: '' authenticated: true deprecated: false @@ -324,9 +198,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - field: - name: field - description: 'The field.' + depreciation_id: + name: depreciation_id + description: 'The ID of the depreciation.' required: true example: architecto type: string @@ -335,323 +209,7 @@ endpoints: nullable: false custom: [] cleanUrlParameters: - field: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/fieldsets/{fieldset}/fields' - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: 'Custom Fieldsets' - subgroupDescription: '' - title: 'Show Fields in Fieldset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - fieldset: - name: fieldset - description: 'The fieldset.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - fieldset: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/v1/fieldsets/{fieldset}/fields/{model}' - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: 'Custom Fieldsets' - subgroupDescription: '' - title: 'Fields in Fieldset with Default Values for Model' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - fieldset: - name: fieldset - description: 'The fieldset.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - model: - name: model - description: '' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - fieldset: architecto - model: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/fieldsets - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: 'Custom Fieldsets' - subgroupDescription: '' - title: 'List Fieldsets' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=oNXbSKBODGKzLyK9z0f9CffLsod39tPJdleakVm1; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/fieldsets - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: 'Custom Fieldsets' - subgroupDescription: '' - title: 'Create Fieldset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/fieldsets/{id}' - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: 'Custom Fieldsets' - subgroupDescription: '' - title: 'Show Fieldset and Fields' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the fieldset.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=exd0ejuLQeSH2na1V3uj0dImHDa3Pfq7vnM04CdD; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - - PATCH - uri: 'api/v1/fieldsets/{id}' - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: 'Custom Fieldsets' - subgroupDescription: '' - title: 'Update Fieldset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the fieldset.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/fieldsets/{id}' - metadata: - groupName: 'Custom Fields' - groupDescription: '' - subgroup: 'Custom Fieldsets' - subgroupDescription: '' - title: 'Delete Fieldset' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the fieldset.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto + depreciation_id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/10.yaml b/.scribe/endpoints/10.yaml index 630087f1cb..a4a37f9e15 100644 --- a/.scribe/endpoints/10.yaml +++ b/.scribe/endpoints/10.yaml @@ -1,16 +1,142 @@ -name: 'User Groups' +name: 'Custom Fields' description: '' endpoints: - httpMethods: - - GET - uri: api/v1/groups + - POST + uri: 'api/v1/fields/fieldsets/{id}/order' metadata: - groupName: 'User Groups' + groupName: 'Custom Fields' groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display a listing of the resource.' + title: 'Reorder Fields' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the fieldset.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/fields/{field}/associate' + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Add Field to Fieldset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + field: + name: field + description: 'The field.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + field: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/fields/{field}/disassociate' + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove Field from Fieldset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + field: + name: field + description: 'The field.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + field: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/fields + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Custom Fields' description: '' authenticated: true deprecated: false @@ -39,7 +165,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=fFeEpKb9M61WnUEMGDCSuV4kfzkJcCXWsnUeIGee; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=XGoDMr0ai3wApt6nD6yqGfrMn5rqrw5p8RDcPNFK; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -51,13 +177,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/groups + uri: api/v1/fields metadata: - groupName: 'User Groups' + groupName: 'Custom Fields' groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Group' + title: 'Create Field' description: '' authenticated: true deprecated: false @@ -82,13 +208,329 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/groups/{id}' + uri: 'api/v1/fields/{field}' metadata: - groupName: 'User Groups' + groupName: 'Custom Fields' groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Group' + title: 'Show Field' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + field: + name: field + description: 'The field.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + field: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=b9D8k1gvQZIlMPBBI3MZfLYQCERes850mIsxGXMo; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/fields/{field}' + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update Field' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + field: + name: field + description: 'The field.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + field: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/fields/{field}' + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Delete Field' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + field: + name: field + description: 'The field.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + field: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/fieldsets/{fieldset}/fields' + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: 'Custom Fieldsets' + subgroupDescription: '' + title: 'Show Fields in Fieldset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + fieldset: + name: fieldset + description: 'The fieldset.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + fieldset: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/fieldsets/{fieldset}/fields/{model}' + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: 'Custom Fieldsets' + subgroupDescription: '' + title: 'Fields in Fieldset with Default Values for Model' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + fieldset: + name: fieldset + description: 'The fieldset.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + model: + name: model + description: '' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + fieldset: architecto + model: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/fieldsets + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: 'Custom Fieldsets' + subgroupDescription: '' + title: 'List Fieldsets' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=wfdqPJ45wyKEmwY0aZqQ066UDLFOh6b0DaCn8vj2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/fieldsets + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: 'Custom Fieldsets' + subgroupDescription: '' + title: 'Create Fieldset' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/fieldsets/{id}' + metadata: + groupName: 'Custom Fields' + groupDescription: '' + subgroup: 'Custom Fieldsets' + subgroupDescription: '' + title: 'Show Fieldset and Fields' description: '' authenticated: true deprecated: false @@ -99,7 +541,7 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the group.' + description: 'The ID of the fieldset.' required: true example: architecto type: string @@ -128,7 +570,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=fZJPTXSFdFjqLShHjCZ9g1GFuEMP6MVXn0DqT1QF; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=6j8uTg18mlNpS0i134Y5HZfn046xO1Xrkb1dVKBM; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -141,13 +583,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/groups/{id}' + uri: 'api/v1/fieldsets/{id}' metadata: - groupName: 'User Groups' + groupName: 'Custom Fields' groupDescription: '' - subgroup: '' + subgroup: 'Custom Fieldsets' subgroupDescription: '' - title: 'Update Group' + title: 'Update Fieldset' description: '' authenticated: true deprecated: false @@ -158,7 +600,7 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the group.' + description: 'The ID of the fieldset.' required: true example: architecto type: string @@ -183,13 +625,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/groups/{id}' + uri: 'api/v1/fieldsets/{id}' metadata: - groupName: 'User Groups' + groupName: 'Custom Fields' groupDescription: '' - subgroup: '' + subgroup: 'Custom Fieldsets' subgroupDescription: '' - title: 'Remove the specified resource from storage.' + title: 'Delete Fieldset' description: '' authenticated: true deprecated: false @@ -200,7 +642,7 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the group.' + description: 'The ID of the fieldset.' required: true example: architecto type: string diff --git a/.scribe/endpoints/11.yaml b/.scribe/endpoints/11.yaml index 7149fd76c2..3be3a5e9ce 100644 --- a/.scribe/endpoints/11.yaml +++ b/.scribe/endpoints/11.yaml @@ -1,16 +1,16 @@ -name: Maintenances +name: 'User Groups' description: '' endpoints: - httpMethods: - GET - uri: api/v1/maintenances + uri: api/v1/groups metadata: - groupName: Maintenances + groupName: 'User Groups' groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Maintenances' + title: 'Display a listing of the resource.' description: '' authenticated: true deprecated: false @@ -20,118 +20,8 @@ endpoints: Accept: application/json urlParameters: [] cleanUrlParameters: [] - queryParameters: - search: - name: search - description: 'Search term to filter results.' - required: false - example: repair - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - asset_id: - name: asset_id - description: 'Filter by exact asset ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - supplier_id: - name: supplier_id - description: 'Filter by exact supplier ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - created_by: - name: created_by - description: 'Filter by exact user ID who created the maintenance. Example' - required: false - example: 16 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - url: - name: url - description: 'Filter by exact URL.' - required: false - example: 'http://example.com' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - asset_maintenance_type: - name: asset_maintenance_type - description: 'Filter by exact maintenance type.' - required: false - example: repair - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - sort: - name: sort - description: 'Column to sort results by. Allowed values: id, name, asset_maintenance_time, asset_maintenance_type, cost, start_date, completion_date, notes, asset_tag, asset_name, serial, created_by, supplier, location, is_warranty, status_label. Default: created_at.' - required: false - example: name - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - order: - name: order - description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.' - required: false - example: asc - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - offset: - name: offset - description: 'Offset/starting position of the results. Default: 0.' - required: false - example: 0 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - limit: - name: limit - description: 'Limit the number of results returned. Default: 25. Maximum: 100.' - required: false - example: 50 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - search: repair - asset_id: 1 - supplier_id: 1 - created_by: 16 - url: 'http://example.com' - asset_maintenance_type: repair - sort: name - order: asc - offset: 0 - limit: 50 + queryParameters: [] + cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -149,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=a6zHAj7joxmpz5X9eBbbTU8ejfcPJPyO0bHiw6ys; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=kC65uNZYirk9MpUgY1qQWRkj8R3yUD1VsJxETu8o; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -161,13 +51,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/maintenances + uri: api/v1/groups metadata: - groupName: Maintenances + groupName: 'User Groups' groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Maintenance' + title: 'Create Group' description: '' authenticated: true deprecated: false @@ -192,13 +82,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/maintenances/{id}' + uri: 'api/v1/groups/{id}' metadata: - groupName: Maintenances + groupName: 'User Groups' groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'View Maintenance' + title: 'Show Group' description: '' authenticated: true deprecated: false @@ -209,16 +99,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the maintenance.' + description: 'The ID of the group.' required: true - example: 2 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 2 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -238,7 +128,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=CEzYacpuuQZ4tw7X9yROCQVJhKxckdutV9Izk7mv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=nXikZnt2yCTS1oU2rDLd5ug3LCWqkpnmTqdOdsHi; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -251,13 +141,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/maintenances/{id}' + uri: 'api/v1/groups/{id}' metadata: - groupName: Maintenances + groupName: 'User Groups' groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Maintenance' + title: 'Update Group' description: '' authenticated: true deprecated: false @@ -268,16 +158,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the maintenance.' + description: 'The ID of the group.' required: true - example: 2 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 2 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -293,13 +183,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/maintenances/{id}' + uri: 'api/v1/groups/{id}' metadata: - groupName: Maintenances + groupName: 'User Groups' groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Maintenance' + title: 'Remove the specified resource from storage.' description: '' authenticated: true deprecated: false @@ -310,16 +200,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the maintenance.' + description: 'The ID of the group.' required: true - example: 2 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 2 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/12.yaml b/.scribe/endpoints/12.yaml index 271f1af902..f1a5f3551c 100644 --- a/.scribe/endpoints/12.yaml +++ b/.scribe/endpoints/12.yaml @@ -1,16 +1,16 @@ -name: Imports +name: Maintenances description: '' endpoints: - httpMethods: - - POST - uri: 'api/v1/imports/process/{import}' + - GET + uri: api/v1/maintenances metadata: - groupName: Imports + groupName: Maintenances groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Process Import' + title: 'List Maintenances' description: '' authenticated: true deprecated: false @@ -18,19 +18,165 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - import: - name: import - description: '' - required: true - example: architecto + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + search: + name: search + description: 'Search term to filter results.' + required: false + example: repair type: string enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + asset_id: + name: asset_id + description: 'Filter by exact asset ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + supplier_id: + name: supplier_id + description: 'Filter by exact supplier ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + created_by: + name: created_by + description: 'Filter by exact user ID who created the maintenance. Example' + required: false + example: 16 + type: integer + enumValues: [] exampleWasSpecified: false nullable: false custom: [] - cleanUrlParameters: - import: architecto + url: + name: url + description: 'Filter by exact URL.' + required: false + example: 'http://example.com' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + asset_maintenance_type: + name: asset_maintenance_type + description: 'Filter by exact maintenance type.' + required: false + example: repair + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + sort: + name: sort + description: 'Column to sort results by. Allowed values: id, name, asset_maintenance_time, asset_maintenance_type, cost, start_date, completion_date, notes, asset_tag, asset_name, serial, created_by, supplier, location, is_warranty, status_label. Default: created_at.' + required: false + example: name + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + order: + name: order + description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.' + required: false + example: asc + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + offset: + name: offset + description: 'Offset/starting position of the results. Default: 0.' + required: false + example: 0 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + limit: + name: limit + description: 'Limit the number of results returned. Default: 25. Maximum: 100.' + required: false + example: 50 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + cleanQueryParameters: + search: repair + asset_id: 1 + supplier_id: 1 + created_by: 16 + url: 'http://example.com' + asset_maintenance_type: repair + sort: name + order: asc + offset: 0 + limit: 50 + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=MykmAIDiNGruoLSzqvzqlMIoUTnOUqr2pVVfgFw1; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/maintenances + metadata: + groupName: Maintenances + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Create Maintenance' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -46,13 +192,13 @@ endpoints: - httpMethods: - GET - uri: api/v1/imports + uri: 'api/v1/maintenances/{id}' metadata: - groupName: Imports + groupName: Maintenances groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Import Files' + title: 'View Maintenance' description: '' authenticated: true deprecated: false @@ -60,8 +206,19 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: [] - cleanUrlParameters: [] + urlParameters: + id: + name: id + description: 'The ID of the maintenance.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: 2 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -81,7 +238,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=rcq5qxowxiylcX2tcmPIO6MXYFDjnBCy1sYELCRr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=fCDCxFbwzZZwPH8hOpwKcjLz4YCR2gZ2DKGQJT4u; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -92,14 +249,15 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/imports + - PUT + - PATCH + uri: 'api/v1/maintenances/{id}' metadata: - groupName: Imports + groupName: Maintenances groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Save Import File' + title: 'Update Maintenance' description: '' authenticated: true deprecated: false @@ -107,8 +265,19 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: [] - cleanUrlParameters: [] + urlParameters: + id: + name: id + description: 'The ID of the maintenance.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: 2 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -124,13 +293,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/imports/{id}' + uri: 'api/v1/maintenances/{id}' metadata: - groupName: Imports + groupName: Maintenances groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Import File' + title: 'Delete Maintenance' description: '' authenticated: true deprecated: false @@ -141,16 +310,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the import.' + description: 'The ID of the maintenance.' required: true - example: architecto - type: string + example: 2 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 2 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/13.yaml b/.scribe/endpoints/13.yaml index 6ae84f4a0c..cef1fbf8ea 100644 --- a/.scribe/endpoints/13.yaml +++ b/.scribe/endpoints/13.yaml @@ -1,16 +1,16 @@ -name: Labels +name: Imports description: '' endpoints: - httpMethods: - - GET - uri: 'api/v1/labels/{name}' + - POST + uri: 'api/v1/imports/process/{import}' metadata: - groupName: Labels + groupName: Imports groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Label' + title: 'Process Import' description: '' authenticated: true deprecated: false @@ -19,40 +19,24 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - name: - name: name + import: + name: import description: '' required: true - example: '|{+-0p' + example: architecto type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - name: '|{+-0p' + import: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=sIO514ykUFGr9tWC2k0GUGQn0ecm51seHwiaxYAu; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] + responses: [] responseFields: [] auth: [] controller: null @@ -62,13 +46,13 @@ endpoints: - httpMethods: - GET - uri: api/v1/labels + uri: api/v1/imports metadata: - groupName: Labels + groupName: Imports groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Labels' + title: 'List Import Files' description: '' authenticated: true deprecated: false @@ -97,7 +81,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=sqJOx3iLo1kJxTd8mmQ2btLXJxPePoM2XzJz0YxG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=BS1Bq4UFPDXwLQZRs3pSJixFMMpgJxfBOmr4DWl5; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -106,3 +90,76 @@ endpoints: method: null route: null custom: [] + - + httpMethods: + - POST + uri: api/v1/imports + metadata: + groupName: Imports + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Save Import File' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/imports/{id}' + metadata: + groupName: Imports + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Delete Import File' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the import.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/.scribe/endpoints/14.yaml b/.scribe/endpoints/14.yaml index f53df26b6e..66d5aaccca 100644 --- a/.scribe/endpoints/14.yaml +++ b/.scribe/endpoints/14.yaml @@ -1,16 +1,16 @@ -name: Licenses +name: Labels description: '' endpoints: - httpMethods: - GET - uri: api/v1/licenses/selectlist + uri: 'api/v1/labels/{name}' metadata: - groupName: Licenses + groupName: Labels groupDescription: '' subgroup: '' subgroupDescription: '' - title: Selectlist + title: 'Show Label' description: '' authenticated: true deprecated: false @@ -18,145 +18,21 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=WPLnc4UXk0pZFNqpQgshxtUG9L1OvbZX2BIBPV2G; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/licenses - metadata: - groupName: Licenses - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Licenses' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: - status: - name: status - description: 'Filter by license status. Options: active, inactive, expiring' - required: false - example: '?status=active' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - company_id: - name: company_id - description: 'Filter by exact company ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] + urlParameters: name: name: name - description: 'Filter by exact license name.' - required: false - example: 'Microsoft 365' + description: '' + required: true + example: '|{+-0p' type: string enumValues: [] - exampleWasSpecified: true + exampleWasSpecified: false nullable: false custom: [] - product_key: - name: product_key - description: 'Filter by exact product key.' - required: false - example: W269N - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - order_number: - name: order_number - description: 'Filter by exact order number.' - required: false - example: '12345' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - purchase_order: - name: purchase_order - description: 'Filter by exact purchase order.' - required: false - example: PO12345 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - license_name: - name: license_name - description: 'Filter by exact licensee name.' - required: false - example: 'John Doe' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - license_email: - name: license_email - description: 'Filter by exact licensee email.' - required: false - example: john.d - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - status: '?status=active' - company_id: 1 - name: 'Microsoft 365' - product_key: W269N - order_number: '12345' - purchase_order: PO12345 - license_name: 'John Doe' - license_email: john.d + cleanUrlParameters: + name: '|{+-0p' + queryParameters: [] + cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -174,7 +50,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=fTHS0kpnxeIXRqzK5xzNc03B62DpKmQ2BiqWnBgc; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=Vx7BzraR3SCrM5l8wEl64mF54nlfR6tGzf4fcv2W; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -185,14 +61,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/licenses + - GET + uri: api/v1/labels metadata: - groupName: Licenses + groupName: Labels groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create License' + title: 'List Labels' description: '' authenticated: true deprecated: false @@ -207,48 +83,6 @@ endpoints: bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/licenses/{license_id}' - metadata: - groupName: Licenses - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Show License' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - license_id: - name: license_id - description: 'The ID of the license.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - license_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] responses: - status: 401 @@ -263,7 +97,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=IAwA0qXWtxL9lb0ifXGpFqJj8eNcNUDDALgJlAZL; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=p1OaN8jLuQSkhULdDAEPeglceyX2BrdC9De6tkpP; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -272,269 +106,3 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - PUT - - PATCH - uri: 'api/v1/licenses/{license_id}' - metadata: - groupName: Licenses - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Update License' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - license_id: - name: license_id - description: 'The ID of the license.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - license_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/licenses/{license_id}' - metadata: - groupName: Licenses - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Delete License' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - license_id: - name: license_id - description: 'The ID of the license.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - license_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/licenses/{license_id}/seats' - metadata: - groupName: Licenses - groupDescription: '' - subgroup: 'License Seats' - subgroupDescription: '' - title: 'List License Seats' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - license_id: - name: license_id - description: 'The ID of the license.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - license_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=AeCtsuabi8bZKwRzQdr8p7XJiL1Jac94HywjTk3e; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/licenses/{license_id}/seats/{id}' - metadata: - groupName: Licenses - groupDescription: '' - subgroup: 'License Seats' - subgroupDescription: '' - title: 'Show License Seat' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - license_id: - name: license_id - description: 'The ID of the license.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - id: - name: id - description: 'The ID of the seat.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - license_id: 1 - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=929jjEqg98XCM3WkRgG28cYD2K5BgE7sEI6R6cZ6; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - - PATCH - uri: 'api/v1/licenses/{license_id}/seats/{id}' - metadata: - groupName: Licenses - groupDescription: '' - subgroup: 'License Seats' - subgroupDescription: '' - title: 'Update License Seat' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - license_id: - name: license_id - description: 'The ID of the license.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - id: - name: id - description: 'The ID of the seat.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - license_id: 1 - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] diff --git a/.scribe/endpoints/15.yaml b/.scribe/endpoints/15.yaml index 19af5b332c..886d16f1c0 100644 --- a/.scribe/endpoints/15.yaml +++ b/.scribe/endpoints/15.yaml @@ -1,37 +1,17 @@ -name: Locations +name: Licenses description: '' endpoints: - httpMethods: - GET - uri: api/v1/locations/selectlist + uri: api/v1/licenses/selectlist metadata: - groupName: Locations + groupName: Licenses groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Gets a paginated collection for the select2 menus' - description: |- - This is handled slightly differently as of ~4.7.8-pre, as - we have to do some recursive magic to get the hierarchy to display - properly when looking at the parent/child relationship in the - rich menus. - - This means we can't use the normal pagination that we use elsewhere - in our selectlists, since we have to get the full set before we can - determine which location is parent/child/grandchild, etc. - - This also means that hierarchy display gets a little funky when people - use the Select2 search functionality, but there's not much we can do about - that right now. - - As a result, instead of paginating as part of the query, we have to grab - the entire data set, and then invoke a paginator manually and pass that - through to the SelectListTransformer. - - Many thanks to @uberbrady for the help getting this working better. - Recursion still sucks, but I guess he doesn't have to get in the - sea... this time. + title: Selectlist + description: '' authenticated: true deprecated: false custom: [] @@ -59,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=kxkAn6ktvDEdpCvR2riFQus14bXiRAXJ8XCncjws; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=GsLdJ1PUvsI9174uM06Rcv7e2T0LLe9v4lcwIbTA; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -71,187 +51,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/locations/{location_id}/assets' + uri: api/v1/licenses metadata: - groupName: Locations + groupName: Licenses groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Assets with Default Location' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - location_id: - name: location_id - description: 'The ID of the location.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - location_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=Nf1tNFD7n2qoaiLc23yMxOkHBaFZAOiAnSm6tcTb; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/locations/{location_id}/assigned/assets' - metadata: - groupName: Locations - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Show Assets Assigned to Location' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - location_id: - name: location_id - description: 'The ID of the location.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - location_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=62yt5S3mxzYYSMUmyhYhIwtyMGJsD3eDd6OSGQwA; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/locations/{location_id}/assigned/accessories' - metadata: - groupName: Locations - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Show Accessories Assigned to Location' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - location_id: - name: location_id - description: 'The ID of the location.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - location_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=T8p4JqeUHZZN2prYTOhKgBcrEe0doawfuquJ3bEa; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/locations - metadata: - groupName: Locations - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Locations' + title: 'List Licenses' description: '' authenticated: true deprecated: false @@ -262,86 +68,16 @@ endpoints: urlParameters: [] cleanUrlParameters: [] queryParameters: - search: - name: search - description: 'Search term to filter results.' + status: + name: status + description: 'Filter by license status. Options: active, inactive, expiring' required: false - example: Headquarters + example: '?status=active' type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - name: - name: name - description: 'Filter by exact location name.' - required: false - example: Headquarters - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - address: - name: address - description: 'Filter by exact address.' - required: false - example: '123 Main St' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - address2: - name: address2 - description: 'Filter by exact address2.' - required: false - example: 'Suite 100' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - city: - name: city - description: 'Filter by exact city.' - required: false - example: Springfield - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - zip: - name: zip - description: 'Filter by exact zip code.' - required: false - example: '12345' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - country: - name: country - description: 'Filter by exact country.' - required: false - example: USA - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - manager_id: - name: manager_id - description: 'Filter by exact manager (user) ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] company_id: name: company_id description: 'Filter by exact company ID.' @@ -352,60 +88,75 @@ endpoints: exampleWasSpecified: true nullable: false custom: [] - parent_id: - name: parent_id - description: 'Filter by exact parent location ID.' + name: + name: name + description: 'Filter by exact license name.' required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - status: - name: status - description: 'Filter by location status. Allowed values: active, deleted.' - required: false - example: active + example: 'Microsoft 365' type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - sort: - name: sort - description: 'Column to sort results by. Allowed values: accessorries_count, address, address2, assets_count, assigned_assets_count, rtd_assets_count, accessories_count, assigned_accessories_count, components_count, consumables_count, users_count, children_count, city, country, created_at, currency, id, image, ldap_ou, company_id, manager_id, name, rtd_assets_count, state, updated_at, zip. Default: created_at.' + product_key: + name: product_key + description: 'Filter by exact product key.' required: false - example: name + example: W269N type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - order: - name: order - description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.' + order_number: + name: order_number + description: 'Filter by exact order number.' required: false - example: asc + example: '12345' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + purchase_order: + name: purchase_order + description: 'Filter by exact purchase order.' + required: false + example: PO12345 + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + license_name: + name: license_name + description: 'Filter by exact licensee name.' + required: false + example: 'John Doe' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + license_email: + name: license_email + description: 'Filter by exact licensee email.' + required: false + example: john.d type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] cleanQueryParameters: - search: Headquarters - name: Headquarters - address: '123 Main St' - address2: 'Suite 100' - city: Springfield - zip: '12345' - country: USA - manager_id: 1 + status: '?status=active' company_id: 1 - parent_id: 1 - status: active - sort: name - order: asc + name: 'Microsoft 365' + product_key: W269N + order_number: '12345' + purchase_order: PO12345 + license_name: 'John Doe' + license_email: john.d bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -423,7 +174,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=SqYzY3n9eFlPontR5x5bUmCq63qtjt87IMGcn6b9; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=IO91xw66IfWrGGBCgBI6lwj3IuLkd7OOqQ9NdJke; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -435,13 +186,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/locations + uri: api/v1/licenses metadata: - groupName: Locations + groupName: Licenses groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Location' + title: 'Create License' description: '' authenticated: true deprecated: false @@ -466,13 +217,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/locations/{id}' + uri: 'api/v1/licenses/{license_id}' metadata: - groupName: Locations + groupName: Licenses groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Location' + title: 'Show License' description: '' authenticated: true deprecated: false @@ -481,9 +232,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the location.' + license_id: + name: license_id + description: 'The ID of the license.' required: true example: 1 type: integer @@ -492,7 +243,7 @@ endpoints: nullable: false custom: [] cleanUrlParameters: - id: 1 + license_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -512,7 +263,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=Xu6H2IlOJprQvX5dpFgKolsA7LUHJtPQJ21uiyMr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=oHg7lJM8DAT5ZUQLjJ7KNW23lT8W6oOd0rzEwSbt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -525,13 +276,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/locations/{id}' + uri: 'api/v1/licenses/{license_id}' metadata: - groupName: Locations + groupName: Licenses groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Location' + title: 'Update License' description: '' authenticated: true deprecated: false @@ -540,9 +291,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the location.' + license_id: + name: license_id + description: 'The ID of the license.' required: true example: 1 type: integer @@ -551,7 +302,7 @@ endpoints: nullable: false custom: [] cleanUrlParameters: - id: 1 + license_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -567,13 +318,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/locations/{id}' + uri: 'api/v1/licenses/{license_id}' metadata: - groupName: Locations + groupName: Licenses groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Location' + title: 'Delete License' description: '' authenticated: true deprecated: false @@ -582,9 +333,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the location.' + license_id: + name: license_id + description: 'The ID of the license.' required: true example: 1 type: integer @@ -593,7 +344,188 @@ endpoints: nullable: false custom: [] cleanUrlParameters: - id: 1 + license_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/licenses/{license_id}/seats' + metadata: + groupName: Licenses + groupDescription: '' + subgroup: 'License Seats' + subgroupDescription: '' + title: 'List License Seats' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + license_id: + name: license_id + description: 'The ID of the license.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + license_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=QjJEb98EV0RwDHTQcOylyUvaRVYrNHNQ5saV5WED; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/licenses/{license_id}/seats/{id}' + metadata: + groupName: Licenses + groupDescription: '' + subgroup: 'License Seats' + subgroupDescription: '' + title: 'Show License Seat' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + license_id: + name: license_id + description: 'The ID of the license.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + id: + name: id + description: 'The ID of the seat.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + license_id: 1 + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=JZePiyxly78weK50lzr6qf09bL1XOr8TGIDmv0Py; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/licenses/{license_id}/seats/{id}' + metadata: + groupName: Licenses + groupDescription: '' + subgroup: 'License Seats' + subgroupDescription: '' + title: 'Update License Seat' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + license_id: + name: license_id + description: 'The ID of the license.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + id: + name: id + description: 'The ID of the seat.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + license_id: 1 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/16.yaml b/.scribe/endpoints/16.yaml index f6fe577767..b677fc877d 100644 --- a/.scribe/endpoints/16.yaml +++ b/.scribe/endpoints/16.yaml @@ -1,17 +1,37 @@ -name: Manufacturers +name: Locations description: '' endpoints: - httpMethods: - GET - uri: api/v1/manufacturers/selectlist + uri: api/v1/locations/selectlist metadata: - groupName: Manufacturers + groupName: Locations groupDescription: '' subgroup: '' subgroupDescription: '' - title: Selectlist - description: '' + title: 'Gets a paginated collection for the select2 menus' + description: |- + This is handled slightly differently as of ~4.7.8-pre, as + we have to do some recursive magic to get the hierarchy to display + properly when looking at the parent/child relationship in the + rich menus. + + This means we can't use the normal pagination that we use elsewhere + in our selectlists, since we have to get the full set before we can + determine which location is parent/child/grandchild, etc. + + This also means that hierarchy display gets a little funky when people + use the Select2 search functionality, but there's not much we can do about + that right now. + + As a result, instead of paginating as part of the query, we have to grab + the entire data set, and then invoke a paginator manually and pass that + through to the SelectListTransformer. + + Many thanks to @uberbrady for the help getting this working better. + Recursion still sucks, but I guess he doesn't have to get in the + sea... this time. authenticated: true deprecated: false custom: [] @@ -39,7 +59,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=G8n3vdsgPCj9VKm7UDvioWQJWWO6VClAeZU7VWbZ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=jWuLhK0gZXMcSoJ3gjMe31Ys9BApDOCFRlynDRE2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -50,14 +70,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: 'api/v1/manufacturers/{id}/restore' + - GET + uri: 'api/v1/locations/{location_id}/assets' metadata: - groupName: Manufacturers + groupName: Locations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Restore Deleted Manufacturer' + title: 'Show Assets with Default Location' description: '' authenticated: true deprecated: false @@ -66,24 +86,40 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the manufacturer.' + location_id: + name: location_id + description: 'The ID of the location.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + location_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=YKRhZlOs0DbXICR0t3y0HWzTIN2aCeh17uYYavce; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -93,13 +129,129 @@ endpoints: - httpMethods: - GET - uri: api/v1/manufacturers + uri: 'api/v1/locations/{location_id}/assigned/assets' metadata: - groupName: Manufacturers + groupName: Locations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Manufacturers' + title: 'Show Assets Assigned to Location' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + location_id: + name: location_id + description: 'The ID of the location.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + location_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=BuTYvjG5ingO4kODcJSrcuK3ZgD1kCxCCl5pjHVV; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/locations/{location_id}/assigned/accessories' + metadata: + groupName: Locations + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Show Accessories Assigned to Location' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + location_id: + name: location_id + description: 'The ID of the location.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + location_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=5yywKXasxT2awvUdynRcjG934YHYPP15sSbVJEJK; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/locations + metadata: + groupName: Locations + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Locations' description: '' authenticated: true deprecated: false @@ -114,7 +266,7 @@ endpoints: name: search description: 'Search term to filter results.' required: false - example: Dell + example: Headquarters type: string enumValues: [] exampleWasSpecified: true @@ -122,59 +274,99 @@ endpoints: custom: [] name: name: name - description: 'Filter by exact manufacturer name.' + description: 'Filter by exact location name.' required: false - example: Dell + example: Headquarters type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - url: - name: url - description: 'Filter by exact URL.' + address: + name: address + description: 'Filter by exact address.' required: false - example: 'http://example.com' + example: '123 Main St' type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - support_url: - name: support_url - description: 'Filter by exact support URL.' + address2: + name: address2 + description: 'Filter by exact address2.' required: false - example: 'http://support.example.com' + example: 'Suite 100' type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - warranty_lookup_url: - name: warranty_lookup_url - description: 'Filter by exact warranty lookup URL.' + city: + name: city + description: 'Filter by exact city.' required: false - example: 'http://warranty.example.com' + example: Springfield type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - support_phone: - name: support_phone - description: 'Filter by exact support phone number.' + zip: + name: zip + description: 'Filter by exact zip code.' required: false - example: 1-800-555-5555 + example: '12345' type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - support_email: - name: support_email - description: 'Filter by exact support email address.' + country: + name: country + description: 'Filter by exact country.' required: false - example: support@example.org + example: USA + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + manager_id: + name: manager_id + description: 'Filter by exact manager (user) ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + company_id: + name: company_id + description: 'Filter by exact company ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + parent_id: + name: parent_id + description: 'Filter by exact parent location ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + status: + name: status + description: 'Filter by location status. Allowed values: active, deleted.' + required: false + example: active type: string enumValues: [] exampleWasSpecified: true @@ -182,7 +374,7 @@ endpoints: custom: [] sort: name: sort - description: 'Column to sort results by. Allowed values: id, name, url, support_url, support_email, warranty_lookup_url, support_phone, created_at, updated_at, assets_count, consumables_count, components_count, licenses_count. Default: created_at.' + description: 'Column to sort results by. Allowed values: accessorries_count, address, address2, assets_count, assigned_assets_count, rtd_assets_count, accessories_count, assigned_accessories_count, components_count, consumables_count, users_count, children_count, city, country, created_at, currency, id, image, ldap_ou, company_id, manager_id, name, rtd_assets_count, state, updated_at, zip. Default: created_at.' required: false example: name type: string @@ -200,38 +392,20 @@ endpoints: exampleWasSpecified: true nullable: false custom: [] - offset: - name: offset - description: 'Offset/starting position of the results. Default: 0.' - required: false - example: 0 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - limit: - name: limit - description: 'Limit the number of results returned. Default: 25. Maximum: 100.' - required: false - example: 50 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] cleanQueryParameters: - search: Dell - name: Dell - url: 'http://example.com' - support_url: 'http://support.example.com' - warranty_lookup_url: 'http://warranty.example.com' - support_phone: 1-800-555-5555 - support_email: support@example.org + search: Headquarters + name: Headquarters + address: '123 Main St' + address2: 'Suite 100' + city: Springfield + zip: '12345' + country: USA + manager_id: 1 + company_id: 1 + parent_id: 1 + status: active sort: name order: asc - offset: 0 - limit: 50 bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -249,7 +423,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=1MZWSqnleW9A9xxg84gio9OKpDCDIUJZK1qdqBer; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=KA53NGw7xt6u5b4C2hs1ZUEFgRey28iNpGgkIz3w; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -261,13 +435,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/manufacturers + uri: api/v1/locations metadata: - groupName: Manufacturers + groupName: Locations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Maintenance' + title: 'Create Location' description: '' authenticated: true deprecated: false @@ -292,13 +466,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/manufacturers/{id}' + uri: 'api/v1/locations/{id}' metadata: - groupName: Manufacturers + groupName: Locations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Manufacturer' + title: 'Show Location' description: '' authenticated: true deprecated: false @@ -309,16 +483,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the manufacturer.' + description: 'The ID of the location.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -338,7 +512,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=Ox4B9rI7uuddpp7UlnUEbmqbLLd3mLszZoXEWxyG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=bdbj1NyL6Jdb2tEcgjS9Rfrjdj5Ssp0AhxvM4nu0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -351,13 +525,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/manufacturers/{id}' + uri: 'api/v1/locations/{id}' metadata: - groupName: Manufacturers + groupName: Locations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Manufacturer' + title: 'Update Location' description: '' authenticated: true deprecated: false @@ -368,16 +542,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the manufacturer.' + description: 'The ID of the location.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -393,13 +567,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/manufacturers/{id}' + uri: 'api/v1/locations/{id}' metadata: - groupName: Manufacturers + groupName: Locations groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Manufacturer' + title: 'Delete Location' description: '' authenticated: true deprecated: false @@ -410,16 +584,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the manufacturer.' + description: 'The ID of the location.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/17.yaml b/.scribe/endpoints/17.yaml index 7d6f9fec39..1d0ce75cbb 100644 --- a/.scribe/endpoints/17.yaml +++ b/.scribe/endpoints/17.yaml @@ -1,16 +1,16 @@ -name: Models +name: Manufacturers description: '' endpoints: - httpMethods: - GET - uri: api/v1/models/selectlist + uri: api/v1/manufacturers/selectlist metadata: - groupName: Models + groupName: Manufacturers groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Selectlist of Models' + title: Selectlist description: '' authenticated: true deprecated: false @@ -39,101 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=vBXFctl7onEDovM8eSKc93QsS5L4tAqovRrD5NXz; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/models/assets - metadata: - groupName: Models - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Assets in Model' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=THFowyEVGhU3x5t9BPD4sAFlPBoRSVA3IVlcS0o2; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/models - metadata: - groupName: Models - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Models' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=igTsi93UE725qACTUUOAQNldCyy6HiyL6IwO1uir; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=EOCHbNiLhd1V8GlNACOOheSDg2Fh5fpo36OaUYk0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -145,13 +51,223 @@ endpoints: - httpMethods: - POST - uri: api/v1/models + uri: 'api/v1/manufacturers/{id}/restore' metadata: - groupName: Models + groupName: Manufacturers groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Model' + title: 'Restore Deleted Manufacturer' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the manufacturer.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/manufacturers + metadata: + groupName: Manufacturers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Manufacturers' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + search: + name: search + description: 'Search term to filter results.' + required: false + example: Dell + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + name: + name: name + description: 'Filter by exact manufacturer name.' + required: false + example: Dell + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + url: + name: url + description: 'Filter by exact URL.' + required: false + example: 'http://example.com' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + support_url: + name: support_url + description: 'Filter by exact support URL.' + required: false + example: 'http://support.example.com' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + warranty_lookup_url: + name: warranty_lookup_url + description: 'Filter by exact warranty lookup URL.' + required: false + example: 'http://warranty.example.com' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + support_phone: + name: support_phone + description: 'Filter by exact support phone number.' + required: false + example: 1-800-555-5555 + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + support_email: + name: support_email + description: 'Filter by exact support email address.' + required: false + example: support@example.org + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + sort: + name: sort + description: 'Column to sort results by. Allowed values: id, name, url, support_url, support_email, warranty_lookup_url, support_phone, created_at, updated_at, assets_count, consumables_count, components_count, licenses_count. Default: created_at.' + required: false + example: name + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + order: + name: order + description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.' + required: false + example: asc + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + offset: + name: offset + description: 'Offset/starting position of the results. Default: 0.' + required: false + example: 0 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + limit: + name: limit + description: 'Limit the number of results returned. Default: 25. Maximum: 100.' + required: false + example: 50 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + cleanQueryParameters: + search: Dell + name: Dell + url: 'http://example.com' + support_url: 'http://support.example.com' + warranty_lookup_url: 'http://warranty.example.com' + support_phone: 1-800-555-5555 + support_email: support@example.org + sort: name + order: asc + offset: 0 + limit: 50 + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=Ng8RBSTTVGgrXNkQxr5nn17aNqRG2cxClMZdMgp9; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=719999; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/manufacturers + metadata: + groupName: Manufacturers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Create Maintenance' description: '' authenticated: true deprecated: false @@ -175,15 +291,14 @@ endpoints: custom: [] - httpMethods: - - PUT - - PATCH - uri: 'api/v1/models/{id}' + - GET + uri: 'api/v1/manufacturers/{id}' metadata: - groupName: Models + groupName: Manufacturers groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Model' + title: 'Show Manufacturer' description: '' authenticated: true deprecated: false @@ -194,7 +309,66 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the model.' + description: 'The ID of the manufacturer.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=kp6Uan6rAZCd8rCSERRfxYV3xjh4ZzzIX8jsI50z; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/manufacturers/{id}' + metadata: + groupName: Manufacturers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update Manufacturer' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the manufacturer.' required: true example: architecto type: string @@ -219,13 +393,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/models/{id}' + uri: 'api/v1/manufacturers/{id}' metadata: - groupName: Models + groupName: Manufacturers groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete Model' + title: 'Delete Manufacturer' description: '' authenticated: true deprecated: false @@ -236,7 +410,7 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the model.' + description: 'The ID of the manufacturer.' required: true example: architecto type: string diff --git a/.scribe/endpoints/18.yaml b/.scribe/endpoints/18.yaml index b825db5823..c2119c947f 100644 --- a/.scribe/endpoints/18.yaml +++ b/.scribe/endpoints/18.yaml @@ -1,84 +1,25 @@ -name: Notes +name: Models description: '' endpoints: - - - httpMethods: - - POST - uri: 'api/v1/notes/{asset_id}/store' - metadata: - groupName: Notes - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: 'Store Note' - description: |- - Checks authorization for updating assets, validates the presence of the 'note', - attempts to find the asset by ID, and creates a new ActionLog entry if successful. - Returns JSON responses indicating success or failure with appropriate HTTP status codes. - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - asset_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET - uri: 'api/v1/notes/{asset_id}/index' + uri: api/v1/models/selectlist metadata: - groupName: Notes + groupName: Models groupDescription: '' - subgroup: Assets + subgroup: '' subgroupDescription: '' - title: 'List Notes' - description: |- - Checks authorization to view assets, attempts to find the asset by ID, - and fetches related action log entries of type 'note added', including - user information for each note. Returns a JSON response with the notes or errors. + title: 'Selectlist of Models' + description: '' authenticated: true deprecated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - asset_id: - name: asset_id - description: 'The ID of the asset.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - asset_id: 1 + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -98,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=qmx3IT8bGNwfKDYs3HXdICl59fpNBPkN9gMQP0E6; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=hvRc22afMc91wsdTT85Ht47Q29HBb3EbvY2z3Y1O; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -107,3 +48,213 @@ endpoints: method: null route: null custom: [] + - + httpMethods: + - GET + uri: api/v1/models/assets + metadata: + groupName: Models + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Assets in Model' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=Cl16Du8NHw18bURF7kVm0zrgflHanUmuWj6R2LDu; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/models + metadata: + groupName: Models + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Models' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=NeW9gaoRdvWuQC1aQSk6kx1A72Si2V8WFp9z1egL; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/models + metadata: + groupName: Models + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Create Model' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/models/{id}' + metadata: + groupName: Models + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update Model' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the model.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/models/{id}' + metadata: + groupName: Models + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Delete Model' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the model.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/.scribe/endpoints/19.yaml b/.scribe/endpoints/19.yaml index bc5e4e1f07..96ee875055 100644 --- a/.scribe/endpoints/19.yaml +++ b/.scribe/endpoints/19.yaml @@ -1,347 +1,39 @@ -name: 'Status Labels' +name: Notes description: '' endpoints: - - - httpMethods: - - GET - uri: api/v1/statuslabels/selectlist - metadata: - groupName: 'Status Labels' - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: Selectlist - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=G20C8NLrpkVqlc0NNio7g3ptJtPAXnibwwTVNQeQ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/statuslabels/assets/name - metadata: - groupName: 'Status Labels' - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: 'Show Count for Pie Chart' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=nfojjoCoFBvDIofUosz4FAHEbARc2LWdBDY9mRRx; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/statuslabels/assets/type - metadata: - groupName: 'Status Labels' - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: 'Show Count for Pie Chart by Meta Status' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=uVOpCavS7QSLRjH0yDdyV74jegAqu5eXuqTRB3uG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/statuslabels/{id}/assetlist' - metadata: - groupName: 'Status Labels' - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: 'Show Assets with Status Label' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the statuslabel.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=Ht7V7qpACUTVu7IJzwwbJUXuxblHSrmHNUCajeqk; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/v1/statuslabels/{statuslabel}/deployable' - metadata: - groupName: 'Status Labels' - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: 'Check for Deployable Status' - description: |- - Returns a boolean response based on whether the status label - is one that is deployable or pending. - - This is used by the hardware create/edit view to determine whether - we should provide a dropdown of users for them to check the asset out to, - and whether we show a warning that the asset will be checked in if it's already - assigned but the status is changed to one that isn't pending or deployable - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - statuslabel: - name: statuslabel - description: 'The statuslabel.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - statuslabel: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=z9QIVR09zOjzp4SfQ6PnSyHPmMBgIdL6rWPk4LtG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/statuslabels - metadata: - groupName: 'Status Labels' - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: 'Show Status Labels' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: - search: - name: search - description: 'Search term to filter results.' - required: false - example: Inventory - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - search: Inventory - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=UW9ov1LkpK1Z1YliskXZEW6plEgpQW1YZuYsdica; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - POST - uri: api/v1/statuslabels + uri: 'api/v1/notes/{asset_id}/store' metadata: - groupName: 'Status Labels' + groupName: Notes groupDescription: '' subgroup: Assets subgroupDescription: '' - title: 'Store a newly created resource in storage.' - description: '' + title: 'Store Note' + description: |- + Checks authorization for updating assets, validates the presence of the 'note', + attempts to find the asset by ID, and creates a new ActionLog entry if successful. + Returns JSON responses indicating success or failure with appropriate HTTP status codes. authenticated: true deprecated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: [] - cleanUrlParameters: [] + urlParameters: + asset_id: + name: asset_id + description: 'The ID of the asset.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + asset_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -357,14 +49,17 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/statuslabels/{id}' + uri: 'api/v1/notes/{asset_id}/index' metadata: - groupName: 'Status Labels' + groupName: Notes groupDescription: '' subgroup: Assets subgroupDescription: '' - title: 'Show Status Labels' - description: '' + title: 'List Notes' + description: |- + Checks authorization to view assets, attempts to find the asset by ID, + and fetches related action log entries of type 'note added', including + user information for each note. Returns a JSON response with the notes or errors. authenticated: true deprecated: false custom: [] @@ -372,18 +67,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - id: - name: id - description: 'The ID of the statuslabel.' + asset_id: + name: asset_id + description: 'The ID of the asset.' required: true - example: architecto - type: string + example: 1 + type: integer enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: architecto + asset_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -403,7 +98,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=ReQua8ijyQpft7NDUog7TgQclP19t4LEGrFQNt1b; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=xAEtyBUGWlC0moD22O7DJgUD3CqXGEWotGEuwSA7; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -412,88 +107,3 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - PUT - - PATCH - uri: 'api/v1/statuslabels/{id}' - metadata: - groupName: 'Status Labels' - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: 'Update Status Label' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the statuslabel.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/statuslabels/{id}' - metadata: - groupName: 'Status Labels' - groupDescription: '' - subgroup: Assets - subgroupDescription: '' - title: 'Delete Status Label' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the statuslabel.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] diff --git a/.scribe/endpoints/20.yaml b/.scribe/endpoints/20.yaml index 8fd5a11985..48d351e2c4 100644 --- a/.scribe/endpoints/20.yaml +++ b/.scribe/endpoints/20.yaml @@ -1,16 +1,16 @@ -name: Suppliers +name: Settings description: '' endpoints: - httpMethods: - GET - uri: api/v1/suppliers/selectlist + uri: api/v1/settings/ldaptest metadata: - groupName: Suppliers + groupName: Settings groupDescription: '' subgroup: '' subgroupDescription: '' - title: Selectlist + title: 'Test LDAP Connection' description: '' authenticated: true deprecated: false @@ -39,241 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=BR6PeveVGsilxq1FP5fT6WAioeCFDL1gUs6Ym9rZ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null - custom: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: api/v1/suppliers - metadata: - groupName: Suppliers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'List Suppliers' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: - search: - name: search - description: 'Search term to filter results.' - required: false - example: Acme - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - name: - name: name - description: 'Filter by exact supplier name.' - required: false - example: 'Acme Corp' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - address: - name: address - description: 'Filter by exact address.' - required: false - example: '123 Main St' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - address2: - name: address2 - description: 'Filter by exact address2.' - required: false - example: 'Suite 100' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - city: - name: city - description: 'Filter by exact city.' - required: false - example: Springfield - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - state: - name: state - description: 'Filter by exact state.' - required: false - example: IL - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - zip: - name: zip - description: 'Filter by exact zip code.' - required: false - example: '62701' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - country: - name: country - description: 'Filter by exact country.' - required: false - example: USA - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - phone: - name: phone - description: 'Filter by exact phone number.' - required: false - example: 555-1234 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - fax: - name: fax - description: 'Filter by exact fax number.' - required: false - example: 555-5678 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - email: - name: email - description: 'Filter by exact email address.' - required: false - example: info@example.org - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - url: - name: url - description: 'Filter by exact URL.' - required: false - example: 'http://example.com' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - notes: - name: notes - description: 'Filter by exact notes.' - required: false - example: 'This is a note.' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - sort: - name: sort - description: 'Column to sort results by. Allowed values: id, name, address, address2, city, state, country, zip, phone, contact, fax, email, image, assets_count, licenses_count, accessories_count, components_count, consumables_count, url, notes. Default: created_at.' - required: false - example: name - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - order: - name: order - description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.' - required: false - example: asc - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - offset: - name: offset - description: 'Offset/starting position of the results. Default: 0.' - required: false - example: 0 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - limit: - name: limit - description: 'Limit the number of results returned. Default: 25. Maximum: 100.' - required: false - example: 50 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - cleanQueryParameters: - search: Acme - name: 'Acme Corp' - address: '123 Main St' - address2: 'Suite 100' - city: Springfield - state: IL - zip: '62701' - country: USA - phone: 555-1234 - fax: 555-5678 - email: info@example.org - url: 'http://example.com' - notes: 'This is a note.' - sort: name - order: asc - offset: 0 - limit: 50 - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=GIWthbIGeD8hOuFNzuVJJexwmXJT7t1Lu2iovTWr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=mWYpyrpeGcsbvxTh42aAgm1BUzHcKW2ZzcbI3Cxq; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -285,13 +51,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/suppliers + uri: api/v1/settings/purge_barcodes metadata: - groupName: Suppliers + groupName: Settings groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Create Supplier' + title: 'Delete Barcode Cache' description: '' authenticated: true deprecated: false @@ -315,14 +81,14 @@ endpoints: custom: [] - httpMethods: - - GET - uri: 'api/v1/suppliers/{id}' + - POST + uri: api/v1/settings/ldaptestlogin metadata: - groupName: Suppliers + groupName: Settings groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Show Supplier' + title: 'Test LDAP Login' description: '' authenticated: true deprecated: false @@ -330,10 +96,14 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the supplier.' + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + ldaptest_user: + name: ldaptest_user + description: '' required: true example: architecto type: string @@ -341,30 +111,21 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 401 - content: '{"error":"Unauthorized or unauthenticated."}' - headers: - cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' - content-type: application/json - vary: Origin - pragma: no-cache - expires: 'Sun, 02 Jan 1990 00:00:00 GMT' - x-content-type-options: nosniff - feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" - referrer-policy: same-origin - content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=u3CtCeJlscwNdonOQgzzRAz7L5b7PUJA5QGFugkY; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' - description: null + ldaptest_password: + name: ldaptest_password + description: '' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false custom: [] + cleanBodyParameters: + ldaptest_user: architecto + ldaptest_password: architecto + fileParameters: [] + responses: [] responseFields: [] auth: [] controller: null @@ -373,15 +134,14 @@ endpoints: custom: [] - httpMethods: - - PUT - - PATCH - uri: 'api/v1/suppliers/{id}' + - POST + uri: api/v1/settings/mailtest metadata: - groupName: Suppliers + groupName: Settings groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update Supplier' + title: 'Test Email Configuration' description: '' authenticated: true deprecated: false @@ -389,61 +149,8 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the supplier.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/suppliers/{id}' - metadata: - groupName: Suppliers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Delete Supplier' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the supplier.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - id: architecto + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/21.yaml b/.scribe/endpoints/21.yaml index f998b62b90..ce002aa6d2 100644 --- a/.scribe/endpoints/21.yaml +++ b/.scribe/endpoints/21.yaml @@ -1,14 +1,14 @@ -name: Users +name: 'Status Labels' description: '' endpoints: - httpMethods: - GET - uri: api/v1/users/selectlist + uri: api/v1/statuslabels/selectlist metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' title: Selectlist description: '' @@ -39,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=JC6ltPDEnZt7b2BKD6p43Hf6gJpbvexFKPt1vVbv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=DwH0Z0jznkmdlwerWNY0sBvt01HFqQoipoH7NPNf; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -48,78 +48,16 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - POST - uri: api/v1/users/ldapsync - metadata: - groupName: Users - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'LDAP Sync Users' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: api/v1/users/two_factor_reset - metadata: - groupName: Users - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Reset Two-factor' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET - uri: api/v1/users/me + uri: api/v1/statuslabels/assets/name metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'Get Current User Info' + title: 'Show Count for Pie Chart' description: '' authenticated: true deprecated: false @@ -148,7 +86,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=v6Cb1rLm3mlkNzuAF1e9YU4OfC74Iqhj4N9H03fv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=IJSRhBnYtFd0syyXU680YEwF0BIMthCNLfOpcyLN; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -160,13 +98,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/users/{user}/assets' + uri: api/v1/statuslabels/assets/type metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'List Assets Assigned to User' + title: 'Show Count for Pie Chart by Meta Status' description: '' authenticated: true deprecated: false @@ -174,19 +112,8 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - user: - name: user - description: 'The user.' - required: true - example: 2 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - user: 2 + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -206,7 +133,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=NM7fi7M9rXZA4UsxLSrlxCrnhqup454f060pIp2G; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=ZOIZ05Rp1YVJaN29a0oGwiyWTrTTcUqo5lc5IjPs; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -215,58 +142,16 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - POST - uri: 'api/v1/users/{user}/email' - metadata: - groupName: Users - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Email Asset List to User' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - user: - name: user - description: 'The user.' - required: true - example: 2 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - user: 2 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET - uri: 'api/v1/users/{user}/accessories' + uri: 'api/v1/statuslabels/{id}/assetlist' metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'List Accessories Assigned to User' + title: 'Show Assets with Status Label' description: '' authenticated: true deprecated: false @@ -275,18 +160,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - user: - name: user - description: 'The user.' + id: + name: id + description: 'The ID of the statuslabel.' required: true - example: 2 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - user: 2 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -306,7 +191,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=KCloddtglY2T8yjhIKUdghLKpNfXla9kNHBZ43ov; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=aF0alOp2ocaDp8IgwKesKh7farzPtxeAUhyc28IF; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -318,14 +203,21 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/users/{user}/licenses' + uri: 'api/v1/statuslabels/{statuslabel}/deployable' metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'List Licenses Assigned to User' - description: '' + title: 'Check for Deployable Status' + description: |- + Returns a boolean response based on whether the status label + is one that is deployable or pending. + + This is used by the hardware create/edit view to determine whether + we should provide a dropdown of users for them to check the asset out to, + and whether we show a warning that the asset will be checked in if it's already + assigned but the status is changed to one that isn't pending or deployable authenticated: true deprecated: false custom: [] @@ -333,18 +225,18 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - user: - name: user - description: 'The user.' + statuslabel: + name: statuslabel + description: 'The statuslabel.' required: true - example: 2 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - user: 2 + statuslabel: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -364,7 +256,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=eUKLUGZlhjIQ7LBaXgHhnmtV2ULOtAixNSPaoUj5; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=yvmceFpSYfSsG4CbvhhMs2cBhFlHEqvGVKDevoDG; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -373,58 +265,16 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - POST - uri: 'api/v1/users/{user}/restore' - metadata: - groupName: Users - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Restore User' - description: '' - authenticated: true - deprecated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - user: - name: user - description: 'The user.' - required: true - example: 2 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - user: 2 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET - uri: api/v1/users + uri: api/v1/statuslabels metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'List Users' + title: 'Show Status Labels' description: '' authenticated: true deprecated: false @@ -439,300 +289,14 @@ endpoints: name: search description: 'Search term to filter results.' required: false - example: John + example: Inventory type: string enumValues: [] exampleWasSpecified: true nullable: false custom: [] - filter: - name: filter - description: 'JSON object of key/value pairs to filter results. Allowed keys: last_name, first_name, display_name, email, jobtitle, username, employee_num, groups, activated, created_at, updated_at, two_factor_enrolled, two_factor_optin, last_login, assets_count, licenses_count, consumables_count, accessories_count, manages_users_count, manages_locations_count, phone, mobile, address, city, state, country, zip, id, ldap_import, remote, vip, start_date, end_date, autoassign_licenses, website, locale, notes.' - required: false - example: '{"last_name":"Doe","first_name":"John"}' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - activated: - name: activated - description: 'Filter by exact activation status. Allowed values: 0, 1.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - admins: - name: admins - description: 'Filter to only admin and superadmin users. Allowed values: true, false.' - required: false - example: true - type: boolean - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - superadmins: - name: superadmins - description: 'Filter to only superadmin users. Allowed values: true, false.' - required: false - example: true - type: boolean - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - company_id: - name: company_id - description: 'Filter by exact company ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - phone: - name: phone - description: 'Filter by exact phone number.' - required: false - example: 555-1234 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - mobile: - name: mobile - description: 'Filter by exact mobile number.' - required: false - example: 555-5678 - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - location_id: - name: location_id - description: 'Filter by exact location ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - created_by: - name: created_by - description: 'Filter by exact user ID who created the user.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - email: - name: email - description: 'Filter by exact email address.' - required: false - example: jdoe@example.com - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - username: - name: username - description: 'Filter by exact username.' - required: false - example: jdoe - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - first_name: - name: first_name - description: 'Filter by exact first name.' - required: false - example: John - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - last_name: - name: last_name - description: 'Filter by exact last name.' - required: false - example: Doe - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - display_name: - name: display_name - description: 'Filter by exact display name.' - required: false - example: 'John Doe' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - employee_num: - name: employee_num - description: 'Filter by exact employee number.' - required: false - example: '12345' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - state: - name: state - description: 'Filter by exact state.' - required: false - example: CA - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - country: - name: country - description: 'Filter by exact country.' - required: false - example: USA - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - website: - name: website - description: 'Filter by exact website URL.' - required: false - example: 'https://example.com' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - zip: - name: zip - description: 'Filter by exact ZIP code.' - required: false - example: '90210' - type: string - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - group_id: - name: group_id - description: 'Filter by exact group ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - department_id: - name: department_id - description: 'Filter by exact department ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - manager_id: - name: manager_id - description: 'Filter by exact manager (user) ID.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - ldap_import: - name: ldap_import - description: 'Filter by exact LDAP import status. Allowed values: 0, 1.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - remote: - name: remote - description: 'Filter by exact remote status. Allowed values: 0, 1.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - vip: - name: vip - description: 'Filter by exact VIP status. Allowed values: 0, 1.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] - two_factor_enrolled: - name: two_factor_enrolled - description: 'Filter by exact two-factor authentication enrollment status. Allowed values: 0, 1.' - required: false - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: true - nullable: false - custom: [] cleanQueryParameters: - search: John - filter: '{"last_name":"Doe","first_name":"John"}' - activated: 1 - admins: true - superadmins: true - company_id: 1 - phone: 555-1234 - mobile: 555-5678 - location_id: 1 - created_by: 1 - email: jdoe@example.com - username: jdoe - first_name: John - last_name: Doe - display_name: 'John Doe' - employee_num: '12345' - state: CA - country: USA - website: 'https://example.com' - zip: '90210' - group_id: 1 - department_id: 1 - manager_id: 1 - ldap_import: 1 - remote: 1 - vip: 1 - two_factor_enrolled: 1 + search: Inventory bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -750,7 +314,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=s07zlyGGJd59cbeYkhBsNL77mOqzDJopVBTzIxnO; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=IYg40ZEyQBdflyTTVSdA6PDnYUm7TgE9JH3IZfKU; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -762,13 +326,13 @@ endpoints: - httpMethods: - POST - uri: api/v1/users + uri: api/v1/statuslabels metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'Create User' + title: 'Store a newly created resource in storage.' description: '' authenticated: true deprecated: false @@ -793,13 +357,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/users/{id}' + uri: 'api/v1/statuslabels/{id}' metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'Show User' + title: 'Show Status Labels' description: '' authenticated: true deprecated: false @@ -810,16 +374,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the user.' + description: 'The ID of the statuslabel.' required: true - example: 2 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 2 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -839,7 +403,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=xbTJ0W206Ov3xctFXMSvwEt61rFFMK3phcqDGQ0s; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=4fGnpY6Knc6SJS5TS7WkNHK5Ec5qPilO6DhNftpy; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -852,13 +416,13 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/users/{id}' + uri: 'api/v1/statuslabels/{id}' metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'Update User' + title: 'Update Status Label' description: '' authenticated: true deprecated: false @@ -869,16 +433,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the user.' + description: 'The ID of the statuslabel.' required: true - example: 2 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 2 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -894,13 +458,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/users/{id}' + uri: 'api/v1/statuslabels/{id}' metadata: - groupName: Users + groupName: 'Status Labels' groupDescription: '' - subgroup: '' + subgroup: Assets subgroupDescription: '' - title: 'Delete User' + title: 'Delete Status Label' description: '' authenticated: true deprecated: false @@ -911,16 +475,16 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the user.' + description: 'The ID of the statuslabel.' required: true - example: 2 - type: integer + example: architecto + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanUrlParameters: - id: 2 + id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/22.yaml b/.scribe/endpoints/22.yaml index 061fa01ba6..92cd8307ef 100644 --- a/.scribe/endpoints/22.yaml +++ b/.scribe/endpoints/22.yaml @@ -1,16 +1,16 @@ -name: Files +name: Suppliers description: '' endpoints: - httpMethods: - GET - uri: 'api/v1/{object_type}/{id}/files' + uri: api/v1/suppliers/selectlist metadata: - groupName: Files + groupName: Suppliers groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'List Files for an Object' + title: Selectlist description: '' authenticated: true deprecated: false @@ -18,30 +18,8 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - object_type: - name: object_type - description: '' - required: true - example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - id: - name: id - description: 'The ID of the {object type}.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users - id: architecto + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -61,7 +39,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=flFdpkx3IBOTXfODZeLo8E0fS9tvAmd2crd78UWY; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=65C7TW1PiGjeaD2y6hvRsGYfeIbw6nlsoiJ0xwP6; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -73,13 +51,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/{object_type}/{id}/files/{file_id}' + uri: api/v1/suppliers metadata: - groupName: Files + groupName: Suppliers groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display File' + title: 'List Suppliers' description: '' authenticated: true deprecated: false @@ -87,43 +65,197 @@ endpoints: headers: Content-Type: application/json Accept: application/json - urlParameters: - object_type: - name: object_type - description: '' - required: true - example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + search: + name: search + description: 'Search term to filter results.' + required: false + example: Acme type: string enumValues: [] - exampleWasSpecified: false + exampleWasSpecified: true nullable: false custom: [] - id: - name: id - description: 'The ID of the {object type}.' - required: true - example: architecto + name: + name: name + description: 'Filter by exact supplier name.' + required: false + example: 'Acme Corp' type: string enumValues: [] - exampleWasSpecified: false + exampleWasSpecified: true nullable: false custom: [] - file_id: - name: file_id - description: 'The ID of the file.' - required: true - example: architecto + address: + name: address + description: 'Filter by exact address.' + required: false + example: '123 Main St' type: string enumValues: [] - exampleWasSpecified: false + exampleWasSpecified: true nullable: false custom: [] - cleanUrlParameters: - object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users - id: architecto - file_id: architecto - queryParameters: [] - cleanQueryParameters: [] + address2: + name: address2 + description: 'Filter by exact address2.' + required: false + example: 'Suite 100' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + city: + name: city + description: 'Filter by exact city.' + required: false + example: Springfield + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + state: + name: state + description: 'Filter by exact state.' + required: false + example: IL + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + zip: + name: zip + description: 'Filter by exact zip code.' + required: false + example: '62701' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + country: + name: country + description: 'Filter by exact country.' + required: false + example: USA + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + phone: + name: phone + description: 'Filter by exact phone number.' + required: false + example: 555-1234 + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + fax: + name: fax + description: 'Filter by exact fax number.' + required: false + example: 555-5678 + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + email: + name: email + description: 'Filter by exact email address.' + required: false + example: info@example.org + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + url: + name: url + description: 'Filter by exact URL.' + required: false + example: 'http://example.com' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + notes: + name: notes + description: 'Filter by exact notes.' + required: false + example: 'This is a note.' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + sort: + name: sort + description: 'Column to sort results by. Allowed values: id, name, address, address2, city, state, country, zip, phone, contact, fax, email, image, assets_count, licenses_count, accessories_count, components_count, consumables_count, url, notes. Default: created_at.' + required: false + example: name + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + order: + name: order + description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.' + required: false + example: asc + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + offset: + name: offset + description: 'Offset/starting position of the results. Default: 0.' + required: false + example: 0 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + limit: + name: limit + description: 'Limit the number of results returned. Default: 25. Maximum: 100.' + required: false + example: 50 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + cleanQueryParameters: + search: Acme + name: 'Acme Corp' + address: '123 Main St' + address2: 'Suite 100' + city: Springfield + state: IL + zip: '62701' + country: USA + phone: 555-1234 + fax: 555-5678 + email: info@example.org + url: 'http://example.com' + notes: 'This is a note.' + sort: name + order: asc + offset: 0 + limit: 50 bodyParameters: [] cleanBodyParameters: [] fileParameters: [] @@ -141,7 +273,7 @@ endpoints: feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" referrer-policy: same-origin content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" - set-cookie: 'snipe-dev_local=INilwKsuWgb4tyIZaqdgAry89pal3Lo9ouL3x16z; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + set-cookie: 'snipe-dev_local=Ygwy1qbumTs3btIGwY6tegcN8o9isTe6KzDLCsCz; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' description: null custom: [] responseFields: [] @@ -153,13 +285,44 @@ endpoints: - httpMethods: - POST - uri: 'api/v1/{object_type}/{id}/files' + uri: api/v1/suppliers metadata: - groupName: Files + groupName: Suppliers groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Upload File to an Object' + title: 'Create Supplier' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/suppliers/{id}' + metadata: + groupName: Suppliers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Show Supplier' description: '' authenticated: true deprecated: false @@ -168,19 +331,68 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - object_type: - name: object_type - description: '' - required: true - example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] id: name: id - description: 'The ID of the {object type}.' + description: 'The ID of the supplier.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=toyAMs6CPONOBpGPTaErVBrkQmGal9vH0b3ZBo3s; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/suppliers/{id}' + metadata: + groupName: Suppliers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update Supplier' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the supplier.' required: true example: architecto type: string @@ -189,7 +401,6 @@ endpoints: nullable: false custom: [] cleanUrlParameters: - object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users id: architecto queryParameters: [] cleanQueryParameters: [] @@ -206,13 +417,13 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/{object_type}/{id}/files/{file_id}/delete' + uri: 'api/v1/suppliers/{id}' metadata: - groupName: Files + groupName: Suppliers groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Delete File' + title: 'Delete Supplier' description: '' authenticated: true deprecated: false @@ -221,29 +432,9 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - object_type: - name: object_type - description: '' - required: true - example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] id: name: id - description: 'The ID of the {object type}.' - required: true - example: architecto - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - file_id: - name: file_id - description: 'The ID of the file.' + description: 'The ID of the supplier.' required: true example: architecto type: string @@ -252,9 +443,7 @@ endpoints: nullable: false custom: [] cleanUrlParameters: - object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users id: architecto - file_id: architecto queryParameters: [] cleanQueryParameters: [] bodyParameters: [] diff --git a/.scribe/endpoints/23.yaml b/.scribe/endpoints/23.yaml new file mode 100644 index 0000000000..76f4a4f27f --- /dev/null +++ b/.scribe/endpoints/23.yaml @@ -0,0 +1,993 @@ +name: Users +description: '' +endpoints: + - + httpMethods: + - GET + uri: api/v1/users/selectlist + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: Selectlist + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=kw28HZIT52r8jz3Sbo6hnarUjf8SBB3clQMub2dP; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/users/ldapsync + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'LDAP Sync Users' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/users/two_factor_reset + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Reset Two-factor' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/users/me + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Get Current User Info' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=LmY8gP1mxEcxwQkzCIEl6Jjry5STc3MsQZzeBHCB; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/users/{user_id}/eulas' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'User EULAs' + description: 'Gets the lst of accepted EULAs for a user,' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user_id: + name: user_id + description: 'The ID of the user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + user_id: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=x1EHM0OT00cWXn3wkfghPYlJTB9zt8rzQF4tfUzH; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/users/{user}/assets' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Assets Assigned to User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user: + name: user + description: 'The user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + user: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=ljzGjKMqRjPz4VlUKPgAJwPJJH3mwnnME1G4oWLz; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/users/{user}/email' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Email Asset List to User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user: + name: user + description: 'The user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + user: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/users/{user}/accessories' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Accessories Assigned to User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user: + name: user + description: 'The user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + user: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=VIlQixrYDtsKUoezxmmxC394ECo9BEQREUTKa9u1; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/users/{user}/licenses' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Licenses Assigned to User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user: + name: user + description: 'The user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + user: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=GYgntzVmH8K85tM7eOtGuJ8isoBo8dTIYsydB8oI; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/users/{user}/restore' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Restore User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user: + name: user + description: 'The user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + user: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/users + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Users' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + search: + name: search + description: 'Search term to filter results.' + required: false + example: John + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + filter: + name: filter + description: 'JSON object of key/value pairs to filter results. Allowed keys: last_name, first_name, display_name, email, jobtitle, username, employee_num, groups, activated, created_at, updated_at, two_factor_enrolled, two_factor_optin, last_login, assets_count, licenses_count, consumables_count, accessories_count, manages_users_count, manages_locations_count, phone, mobile, address, city, state, country, zip, id, ldap_import, remote, vip, start_date, end_date, autoassign_licenses, website, locale, notes.' + required: false + example: '{"last_name":"Doe","first_name":"John"}' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + activated: + name: activated + description: 'Filter by exact activation status. Allowed values: 0, 1.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + admins: + name: admins + description: 'Filter to only admin and superadmin users. Allowed values: true, false.' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + superadmins: + name: superadmins + description: 'Filter to only superadmin users. Allowed values: true, false.' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + company_id: + name: company_id + description: 'Filter by exact company ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + phone: + name: phone + description: 'Filter by exact phone number.' + required: false + example: 555-1234 + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + mobile: + name: mobile + description: 'Filter by exact mobile number.' + required: false + example: 555-5678 + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + location_id: + name: location_id + description: 'Filter by exact location ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + created_by: + name: created_by + description: 'Filter by exact user ID who created the user.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + email: + name: email + description: 'Filter by exact email address.' + required: false + example: jdoe@example.com + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + username: + name: username + description: 'Filter by exact username.' + required: false + example: jdoe + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + first_name: + name: first_name + description: 'Filter by exact first name.' + required: false + example: John + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + last_name: + name: last_name + description: 'Filter by exact last name.' + required: false + example: Doe + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + display_name: + name: display_name + description: 'Filter by exact display name.' + required: false + example: 'John Doe' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + employee_num: + name: employee_num + description: 'Filter by exact employee number.' + required: false + example: '12345' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + state: + name: state + description: 'Filter by exact state.' + required: false + example: CA + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + country: + name: country + description: 'Filter by exact country.' + required: false + example: USA + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + website: + name: website + description: 'Filter by exact website URL.' + required: false + example: 'https://example.com' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + zip: + name: zip + description: 'Filter by exact ZIP code.' + required: false + example: '90210' + type: string + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + group_id: + name: group_id + description: 'Filter by exact group ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + department_id: + name: department_id + description: 'Filter by exact department ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + manager_id: + name: manager_id + description: 'Filter by exact manager (user) ID.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + ldap_import: + name: ldap_import + description: 'Filter by exact LDAP import status. Allowed values: 0, 1.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + remote: + name: remote + description: 'Filter by exact remote status. Allowed values: 0, 1.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + vip: + name: vip + description: 'Filter by exact VIP status. Allowed values: 0, 1.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + two_factor_enrolled: + name: two_factor_enrolled + description: 'Filter by exact two-factor authentication enrollment status. Allowed values: 0, 1.' + required: false + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: true + nullable: false + custom: [] + cleanQueryParameters: + search: John + filter: '{"last_name":"Doe","first_name":"John"}' + activated: 1 + admins: true + superadmins: true + company_id: 1 + phone: 555-1234 + mobile: 555-5678 + location_id: 1 + created_by: 1 + email: jdoe@example.com + username: jdoe + first_name: John + last_name: Doe + display_name: 'John Doe' + employee_num: '12345' + state: CA + country: USA + website: 'https://example.com' + zip: '90210' + group_id: 1 + department_id: 1 + manager_id: 1 + ldap_import: 1 + remote: 1 + vip: 1 + two_factor_enrolled: 1 + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=QJt4tI6q4BEnSsQdQidC0TRd8hJ4EnWZ0DrL84VE; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/users + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Create User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/users/{id}' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Show User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=00onEwBFqp7htmXXtBhRhhAGNJHnlo87YcbqKB1Z; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/users/{id}' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/users/{id}' + metadata: + groupName: Users + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Delete User' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the user.' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: 2 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/.scribe/endpoints/24.yaml b/.scribe/endpoints/24.yaml new file mode 100644 index 0000000000..1d243ced9e --- /dev/null +++ b/.scribe/endpoints/24.yaml @@ -0,0 +1,269 @@ +name: Files +description: '' +endpoints: + - + httpMethods: + - GET + uri: 'api/v1/{object_type}/{id}/files' + metadata: + groupName: Files + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'List Files for an Object' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + object_type: + name: object_type + description: '' + required: true + example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + id: + name: id + description: 'The ID of the {object type}.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=1XRIXqHTHmoidi0ffEqwHcaQnYNbA6UYCHsK0yeE; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/{object_type}/{id}/files/{file_id}' + metadata: + groupName: Files + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display File' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + object_type: + name: object_type + description: '' + required: true + example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + id: + name: id + description: 'The ID of the {object type}.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + file_id: + name: file_id + description: 'The ID of the file.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + id: architecto + file_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"error":"Unauthorized or unauthenticated."}' + headers: + cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private' + content-type: application/json + vary: Origin + pragma: no-cache + expires: 'Sun, 02 Jan 1990 00:00:00 GMT' + x-content-type-options: nosniff + feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'" + referrer-policy: same-origin + content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com" + set-cookie: 'snipe-dev_local=yW8kji4VdrZVOH8CBP4COEYKKVG923atDdaJ0dNn; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/{object_type}/{id}/files' + metadata: + groupName: Files + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Upload File to an Object' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + object_type: + name: object_type + description: '' + required: true + example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + id: + name: id + description: 'The ID of the {object type}.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/{object_type}/{id}/files/{file_id}/delete' + metadata: + groupName: Files + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Delete File' + description: '' + authenticated: true + deprecated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + object_type: + name: object_type + description: '' + required: true + example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + id: + name: id + description: 'The ID of the {object type}.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + file_id: + name: file_id + description: 'The ID of the file.' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users + id: architecto + file_id: architecto + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/app/Http/Controllers/Api/AssetsController.php b/app/Http/Controllers/Api/AssetsController.php index c6a0aa0958..affe824170 100644 --- a/app/Http/Controllers/Api/AssetsController.php +++ b/app/Http/Controllers/Api/AssetsController.php @@ -53,28 +53,28 @@ class AssetsController extends Controller * List Assets * * @group Assets - * @queryParam action string The action to filter by. Example: audits, checkins - * @queryParam upcoming_status string The status to filter by. Example: due, overdue, due-or-overdue - * @queryParam status string The asset status to filter by. Example: RTD, Deployed, Pending, Undeployable, Archived, Requestable - * @queryParam status_id int The asset status ID to filter by. Example: 1 - * @queryParam asset_tag string The asset tag to filter by. Example: ABC123 - * @queryParam serial string The serial number to filter by. Example: SN123456 - * @queryParam requestable boolean Filter by requestable assets. Example: true - * @queryParam model_id int|array The model ID or IDs to filter by. Example: 1 or model_id[]=1&model_id[]=2 - * @queryParam category_id int The category ID to filter by. Example: 1 - * @queryParam location_id int The location ID to filter by. Example: 1 - * @queryParam rtd_location_id int The RTD location ID to filter by. Example: 1 - * @queryParam supplier_id int The supplier ID to filter by. Example: 1 - * @queryParam asset_eol_date date The asset end-of-life date to filter by. Example: 2023-12-31 - * @queryParam assigned_to int The user ID or department ID the asset is assigned to. Example: 1 - * @queryParam assigned_type string The type of assignment, either 'user' or 'department'. Example: user - * @queryParam company_id int The company ID to filter by. Example: 1 - * @queryParam manufacturer_id int The manufacturer ID to filter by. Example: 1 - * @queryParam depreciation_id int The depreciation ID to filter by. Example: 1 + * @queryParam action string The action to filter by: audits, checkins. No-example + * @queryParam upcoming_status string The status to filter by: `due`, `overdue`, `due-or-overdue`. No-example + * @queryParam status string The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`. No-example + * @queryParam status_id int The asset status ID to filter by. No-example + * @queryParam asset_tag string The asset tag to filter by. No-example + * @queryParam serial string The serial number to filter by. No-example + * @queryParam requestable boolean Filter by requestable assets. No-example + * @queryParam model_id int The model ID or IDs to filter by. No-example + * @queryParam category_id int The category ID to filter by. No-example + * @queryParam location_id int The location ID to filter by. No-example + * @queryParam rtd_location_id int The RTD location ID to filter by. No-example + * @queryParam supplier_id int The supplier ID to filter by. No-example + * @queryParam asset_eol_date date The asset end-of-life date to filter by. No-example + * @queryParam assigned_to int The user ID or department ID the asset is assigned to. No-example + * @queryParam assigned_type string The type of assignment, either 'user' or 'asset' or 'location'. Example: user + * @queryParam company_id int The company ID to filter by. No-example + * @queryParam manufacturer_id int The manufacturer ID to filter by. No-example + * @queryParam depreciation_id int The depreciation ID to filter by. No-example * @queryParam byod boolean Filter by BYOD assets. Example: true - * @queryParam order_number string The order number to filter by. Example: PO12345 - * @queryParam search string A text string to search for. Example: laptop - * @queryParam filter string A JSON object of key/value pairs to filter by. Example: {"status_label":"RTD","location":"Headquarters"} + * @queryParam order_number string The order number to filter by. Example: No-example + * @queryParam search string A text string to search for. Example: No-example + * @queryParam filter string A JSON object of key/value pairs to filter by. No-example * @author [A. Gianotto] [] * @since [v4.0] */ diff --git a/app/Http/Controllers/Api/ProfileController.php b/app/Http/Controllers/Api/ProfileController.php index 315c74a20d..e7de327ff9 100644 --- a/app/Http/Controllers/Api/ProfileController.php +++ b/app/Http/Controllers/Api/ProfileController.php @@ -42,8 +42,9 @@ class ProfileController extends Controller } /** - * Display a listing of requested assets. + * Display Requested Assets * + * @group Account * @author [A. Gianotto] [] * @since [v4.3.0] */ @@ -93,8 +94,8 @@ class ProfileController extends Controller /** - * Delete an API token - * + * Create API token + * @group Account * @author [A. Gianotto] [] * @since [v6.0.5] */ @@ -122,8 +123,9 @@ class ProfileController extends Controller /** - * Delete an API token + * Delete API token * + * @group Account * @author [A. Gianotto] [] * @since [v6.0.5] */ @@ -150,8 +152,9 @@ class ProfileController extends Controller /** - * Show user's API tokens + * Show API tokens * + * @group Account * @author [A. Gianotto] [] * @since [v6.0.5] */ @@ -172,11 +175,12 @@ class ProfileController extends Controller } /** - * Display the EULAs accepted by the user. + * Display Accepted EULAs * - * @param \App\Http\Transformers\ActionlogsTransformer $transformer - * @return \Illuminate\Http\JsonResponse - *@since [v8.1.16] + * @group Account + * @param \App\Http\Transformers\ActionlogsTransformer $transformer + * @return \Illuminate\Http\JsonResponse + * @since [v8.1.16] * @author [Godfrey Martinez] [] */ public function eulas(ProfileTransformer $transformer) diff --git a/app/Http/Controllers/Api/SettingsController.php b/app/Http/Controllers/Api/SettingsController.php index f24dd25b17..4fd4944fd9 100644 --- a/app/Http/Controllers/Api/SettingsController.php +++ b/app/Http/Controllers/Api/SettingsController.php @@ -23,6 +23,12 @@ class SettingsController extends Controller { + /** + * Test LDAP Connection + * + * @group Settings + * @return JsonResponse + */ public function ldaptest() : JsonResponse { $settings = Setting::getSettings(); @@ -95,6 +101,13 @@ class SettingsController extends Controller } + /** + * Test LDAP Login + * + * @group Settings + * @param Request $request + * @return JsonResponse + */ public function ldaptestlogin(Request $request) : JsonResponse { @@ -151,8 +164,9 @@ class SettingsController extends Controller } /** - * Test the email configuration + * Test Email Configuration * + * @group Settings * @author [A. Gianotto] [] * @since [v3.0] */ @@ -175,8 +189,9 @@ class SettingsController extends Controller /** - * Delete server-cached barcodes + * Delete Barcode Cache * + * @group Settings * @author [A. Gianotto] [] * @since [v5.0.0] */ diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 6b6fb332ac..4471a75fff 100644 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -862,11 +862,14 @@ class UsersController extends Controller } /** - * Display the EULAs accepted by the user. + * User EULAs * - * @param \App\Models\User $user - * @param \App\Http\Transformers\ActionlogsTransformer $transformer - * @return \Illuminate\Http\JsonResponse + * Gets the lst of accepted EULAs for a user, + * + * @group Users + * @param \App\Models\User $user + * @param \App\Http\Transformers\ActionlogsTransformer $transformer + * @return \Illuminate\Http\JsonResponse *@since [v8.1.16] * @author [Godfrey Martinez] [] */ diff --git a/config/scribe.php b/config/scribe.php index 02cded4c85..b94974400d 100644 --- a/config/scribe.php +++ b/config/scribe.php @@ -42,7 +42,7 @@ return [ // Exclude these routes even if they matched the rules above. 'exclude' => [ - 'api.index' + 'api/v1' ], ], ], diff --git a/resources/views/scribe/index.blade.php b/resources/views/scribe/index.blade.php index 01432b3983..51b0f2f53c 100644 --- a/resources/views/scribe/index.blade.php +++ b/resources/views/scribe/index.blade.php @@ -99,6 +99,28 @@ + + @@ -1002,7 +1013,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=wFPirCLmI5Qlpim62U5T8yvZtjqzmIGHFxQ3hzIZ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=4xsr65A4AFjnEtAOzz8268YNOMlBA0vQLeN2KDp0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -1373,7 +1384,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=OWq14tCum5ZSf6uUlWPqrsC47ncQqkZgrWnXgpLB; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Fz1Mp9Wc39HRit2HoHC1gn3IUFaLtitvdOOsLXRc; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -1875,7 +1886,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=D7Dn1nLGrjpIg1nzsvU7qQdh6KydawNPUuwYvN3k; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=qecJ95XCfKjx7KpLEN1GMOu6oyWTUCQ0sgYxOcnr; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -2269,6 +2280,786 @@ You can check the Dev Tools console for debugging information.
data-component="url">

The ID of the accessory. Example: 1

+ + + +

Account

+ + + +

Display Requested Assets

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://snipe-it.test/api/v1/account/requests" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/account/requests"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/account/requests';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/account/requests'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('GET', url, headers=headers)
+response.json()
+ +
+ + +
+

Example response (401):

+
+
+ + Show headers + +
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
+content-type: application/json
+vary: Origin
+pragma: no-cache
+expires: Sun, 02 Jan 1990 00:00:00 GMT
+x-content-type-options: nosniff
+feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
+referrer-policy: same-origin
+content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
+set-cookie: snipe-dev_local=0Ofpg9lqsCx0l3dLVF9yZnquqVPTKFD2MarToo0b; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+ 
+
+{
+    "error": "Unauthorized or unauthenticated."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/v1/account/requests +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Display Accepted EULAs

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://snipe-it.test/api/v1/account/eulas" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/account/eulas"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/account/eulas';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/account/eulas'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('GET', url, headers=headers)
+response.json()
+ +
+ + +
+

Example response (401):

+
+
+ + Show headers + +
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
+content-type: application/json
+vary: Origin
+pragma: no-cache
+expires: Sun, 02 Jan 1990 00:00:00 GMT
+x-content-type-options: nosniff
+feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
+referrer-policy: same-origin
+content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
+set-cookie: snipe-dev_local=rxLAV3nb8Lm1vnASccPchKo5Xr1r4FFmSpQZ7iae; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+ 
+
+{
+    "error": "Unauthorized or unauthenticated."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/v1/account/eulas +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Create API token

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://snipe-it.test/api/v1/account/personal-access-tokens" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/account/personal-access-tokens"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/account/personal-access-tokens';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/account/personal-access-tokens'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('POST', url, headers=headers)
+response.json()
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/v1/account/personal-access-tokens +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Show API tokens

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://snipe-it.test/api/v1/account/personal-access-tokens" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/account/personal-access-tokens"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/account/personal-access-tokens';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/account/personal-access-tokens'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('GET', url, headers=headers)
+response.json()
+ +
+ + +
+

Example response (401):

+
+
+ + Show headers + +
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
+content-type: application/json
+vary: Origin
+pragma: no-cache
+expires: Sun, 02 Jan 1990 00:00:00 GMT
+x-content-type-options: nosniff
+feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
+referrer-policy: same-origin
+content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
+set-cookie: snipe-dev_local=EoEpl701guwl7yUoXuGM2uBS757gjJ5VProi3qdF; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+ 
+
+{
+    "error": "Unauthorized or unauthenticated."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/v1/account/personal-access-tokens +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Delete API token

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://snipe-it.test/api/v1/account/personal-access-tokens/architecto" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/account/personal-access-tokens/architecto"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/account/personal-access-tokens/architecto';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/account/personal-access-tokens/architecto'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('DELETE', url, headers=headers)
+response.json()
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/v1/account/personal-access-tokens/{tokenId} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ tokenId   +string  +   + +
+

Example: architecto

@@ -2359,7 +3150,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=zbA3woO9t2FDFaBsCrozokcWxsnmbRff3VR6q67x; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=I5MurMG2oaqg3P454RS5JwU3zOYiMQ4Mu752l0M2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -2452,7 +3243,7 @@ You can check the Dev Tools console for debugging information.
curl --request GET \
-    --get "https://snipe-it.test/api/v1/reports/depreciation?action=audits%2C+checkins&upcoming_status=due%2C+overdue%2C+due-or-overdue&status=RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable&status_id=1&asset_tag=ABC123&serial=SN123456&requestable=1&model_id=1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2&category_id=1&location_id=1&rtd_location_id=1&supplier_id=1&asset_eol_date=2023-12-31&assigned_to=1&assigned_type=user&company_id=1&manufacturer_id=1&depreciation_id=1&byod=1&order_number=PO12345&search=laptop&filter=%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D" \
+    --get "https://snipe-it.test/api/v1/reports/depreciation?assigned_type=user&byod=1" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -2463,28 +3254,8 @@ You can check the Dev Tools console for debugging information. ); const params = { - "action": "audits, checkins", - "upcoming_status": "due, overdue, due-or-overdue", - "status": "RTD, Deployed, Pending, Undeployable, Archived, Requestable", - "status_id": "1", - "asset_tag": "ABC123", - "serial": "SN123456", - "requestable": "1", - "model_id": "1 or model_id[]=1&model_id[]=2", - "category_id": "1", - "location_id": "1", - "rtd_location_id": "1", - "supplier_id": "1", - "asset_eol_date": "2023-12-31", - "assigned_to": "1", "assigned_type": "user", - "company_id": "1", - "manufacturer_id": "1", - "depreciation_id": "1", "byod": "1", - "order_number": "PO12345", - "search": "laptop", - "filter": "{"status_label":"RTD","location":"Headquarters"}", }; Object.keys(params) .forEach(key => url.searchParams.append(key, params[key])); @@ -2511,28 +3282,8 @@ $response = $client->get( 'Accept' => 'application/json', ], 'query' => [ - 'action' => 'audits, checkins', - 'upcoming_status' => 'due, overdue, due-or-overdue', - 'status' => 'RTD, Deployed, Pending, Undeployable, Archived, Requestable', - 'status_id' => '1', - 'asset_tag' => 'ABC123', - 'serial' => 'SN123456', - 'requestable' => '1', - 'model_id' => '1 or model_id[]=1&model_id[]=2', - 'category_id' => '1', - 'location_id' => '1', - 'rtd_location_id' => '1', - 'supplier_id' => '1', - 'asset_eol_date' => '2023-12-31', - 'assigned_to' => '1', 'assigned_type' => 'user', - 'company_id' => '1', - 'manufacturer_id' => '1', - 'depreciation_id' => '1', 'byod' => '1', - 'order_number' => 'PO12345', - 'search' => 'laptop', - 'filter' => '{"status_label":"RTD","location":"Headquarters"}', ], ] ); @@ -2546,28 +3297,8 @@ import json url = 'https://snipe-it.test/api/v1/reports/depreciation' params = { - 'action': 'audits, checkins', - 'upcoming_status': 'due, overdue, due-or-overdue', - 'status': 'RTD, Deployed, Pending, Undeployable, Archived, Requestable', - 'status_id': '1', - 'asset_tag': 'ABC123', - 'serial': 'SN123456', - 'requestable': '1', - 'model_id': '1 or model_id[]=1&model_id[]=2', - 'category_id': '1', - 'location_id': '1', - 'rtd_location_id': '1', - 'supplier_id': '1', - 'asset_eol_date': '2023-12-31', - 'assigned_to': '1', 'assigned_type': 'user', - 'company_id': '1', - 'manufacturer_id': '1', - 'depreciation_id': '1', 'byod': '1', - 'order_number': 'PO12345', - 'search': 'laptop', - 'filter': '{"status_label":"RTD","location":"Headquarters"}', } headers = { 'Content-Type': 'application/json', @@ -2596,7 +3327,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=JG7zDn5PXHPIEticUUTUZ6UYyVdD8tXbVulOATER; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=lgpECl5XEBNSghyioYDAIqojY2wKWDElpBXGy0iX; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -2680,10 +3411,10 @@ You can check the Dev Tools console for debugging information.
optional  
-

The action to filter by. Example: audits, checkins

+

The action to filter by: audits, checkins.

upcoming_status   @@ -2691,10 +3422,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The status to filter by. Example: due, overdue, due-or-overdue

+

The status to filter by: due, overdue, due-or-overdue.

status   @@ -2702,10 +3433,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset status to filter by. Example: RTD, Deployed, Pending, Undeployable, Archived, Requestable

+

The asset status to filter by: RTD, Deployed, Pending, Undeployable, Archived, Requestable.

status_id   @@ -2713,10 +3444,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset status ID to filter by. Example: 1

+

The asset status ID to filter by.

asset_tag   @@ -2724,10 +3455,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset tag to filter by. Example: ABC123

+

The asset tag to filter by.

serial   @@ -2735,10 +3466,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The serial number to filter by. Example: SN123456

+

The serial number to filter by.

requestable   @@ -2759,18 +3490,18 @@ You can check the Dev Tools console for debugging information. false
-

Filter by requestable assets. Example: true

+

Filter by requestable assets.

model_id   -string  +integer  optional   -
-

int|array The model ID or IDs to filter by. Example: 1 or model_id[]=1&model_id[]=2

+

The model ID or IDs to filter by.

category_id   @@ -2778,10 +3509,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The category ID to filter by. Example: 1

+

The category ID to filter by.

location_id   @@ -2789,10 +3520,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The location ID to filter by. Example: 1

+

The location ID to filter by.

rtd_location_id   @@ -2800,10 +3531,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The RTD location ID to filter by. Example: 1

+

The RTD location ID to filter by.

supplier_id   @@ -2811,10 +3542,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The supplier ID to filter by. Example: 1

+

The supplier ID to filter by.

asset_eol_date   @@ -2822,10 +3553,10 @@ You can check the Dev Tools console for debugging information. optional  
-

date The asset end-of-life date to filter by. Example: 2023-12-31

+

date The asset end-of-life date to filter by.

assigned_to   @@ -2833,10 +3564,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The user ID or department ID the asset is assigned to. Example: 1

+

The user ID or department ID the asset is assigned to.

assigned_type   @@ -2847,7 +3578,7 @@ You can check the Dev Tools console for debugging information. value="user" data-component="query">
-

The type of assignment, either 'user' or 'department'. Example: user

+

The type of assignment, either 'user' or 'asset' or 'location'. Example: user

company_id   @@ -2855,10 +3586,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The company ID to filter by. Example: 1

+

The company ID to filter by.

manufacturer_id   @@ -2866,10 +3597,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The manufacturer ID to filter by. Example: 1

+

The manufacturer ID to filter by.

depreciation_id   @@ -2877,10 +3608,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The depreciation ID to filter by. Example: 1

+

The depreciation ID to filter by.

byod   @@ -2909,10 +3640,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The order number to filter by. Example: PO12345

+

The order number to filter by. Example:

search   @@ -2920,10 +3651,10 @@ You can check the Dev Tools console for debugging information. optional  
-

A text string to search for. Example: laptop

+

A text string to search for. Example:

filter   @@ -2931,10 +3662,10 @@ You can check the Dev Tools console for debugging information. optional  
-

A JSON object of key/value pairs to filter by. Example: {"status_label":"RTD","location":"Headquarters"}

+

A JSON object of key/value pairs to filter by.

@@ -3021,7 +3752,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=16OzihBU0h4xmW2JUW0vkz5ZNEFBqsf4j0VouuKJ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=qCapayTz590czNpP8xSUCUUB7vdosx4mVIaOPBWt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -3183,7 +3914,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=kwE3gnKCzQnr1FQa17AIvOYCbsRx7EeG4NWpBmPS; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=fPZtQcCA1cl8JQwmi75mxq8HdQLD3LwMhNazG9Wu; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -3357,7 +4088,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=OvqgWEoNT96szHavg4rG0fw2ALfqiKoxLoKsii5j; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=dZb1Dgz426tSKYXi764GXTAAj3txJctbfOweyf00; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -3972,7 +4703,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=l28ShBmk00D1YpPW9K2z6e0a6sV1PgdTWAP6E97g; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=bLKbCN3YL113zwHdqIHbDf55MnHhuzLviaE9Ki5w; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -4077,7 +4808,7 @@ You can check the Dev Tools console for debugging information.
curl --request GET \
-    --get "https://snipe-it.test/api/v1/hardware/audit|audits|checkins/due|overdue|due-or-overdue?action=audits%2C+checkins&upcoming_status=due%2C+overdue%2C+due-or-overdue&status=RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable&status_id=1&asset_tag=ABC123&serial=SN123456&requestable=1&model_id=1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2&category_id=1&location_id=1&rtd_location_id=1&supplier_id=1&asset_eol_date=2023-12-31&assigned_to=1&assigned_type=user&company_id=1&manufacturer_id=1&depreciation_id=1&byod=1&order_number=PO12345&search=laptop&filter=%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D" \
+    --get "https://snipe-it.test/api/v1/hardware/audit|audits|checkins/due|overdue|due-or-overdue?assigned_type=user&byod=1" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -4088,28 +4819,8 @@ You can check the Dev Tools console for debugging information. ); const params = { - "action": "audits, checkins", - "upcoming_status": "due, overdue, due-or-overdue", - "status": "RTD, Deployed, Pending, Undeployable, Archived, Requestable", - "status_id": "1", - "asset_tag": "ABC123", - "serial": "SN123456", - "requestable": "1", - "model_id": "1 or model_id[]=1&model_id[]=2", - "category_id": "1", - "location_id": "1", - "rtd_location_id": "1", - "supplier_id": "1", - "asset_eol_date": "2023-12-31", - "assigned_to": "1", "assigned_type": "user", - "company_id": "1", - "manufacturer_id": "1", - "depreciation_id": "1", "byod": "1", - "order_number": "PO12345", - "search": "laptop", - "filter": "{"status_label":"RTD","location":"Headquarters"}", }; Object.keys(params) .forEach(key => url.searchParams.append(key, params[key])); @@ -4136,28 +4847,8 @@ $response = $client->get( 'Accept' => 'application/json', ], 'query' => [ - 'action' => 'audits, checkins', - 'upcoming_status' => 'due, overdue, due-or-overdue', - 'status' => 'RTD, Deployed, Pending, Undeployable, Archived, Requestable', - 'status_id' => '1', - 'asset_tag' => 'ABC123', - 'serial' => 'SN123456', - 'requestable' => '1', - 'model_id' => '1 or model_id[]=1&model_id[]=2', - 'category_id' => '1', - 'location_id' => '1', - 'rtd_location_id' => '1', - 'supplier_id' => '1', - 'asset_eol_date' => '2023-12-31', - 'assigned_to' => '1', 'assigned_type' => 'user', - 'company_id' => '1', - 'manufacturer_id' => '1', - 'depreciation_id' => '1', 'byod' => '1', - 'order_number' => 'PO12345', - 'search' => 'laptop', - 'filter' => '{"status_label":"RTD","location":"Headquarters"}', ], ] ); @@ -4171,28 +4862,8 @@ import json url = 'https://snipe-it.test/api/v1/hardware/audit|audits|checkins/due|overdue|due-or-overdue' params = { - 'action': 'audits, checkins', - 'upcoming_status': 'due, overdue, due-or-overdue', - 'status': 'RTD, Deployed, Pending, Undeployable, Archived, Requestable', - 'status_id': '1', - 'asset_tag': 'ABC123', - 'serial': 'SN123456', - 'requestable': '1', - 'model_id': '1 or model_id[]=1&model_id[]=2', - 'category_id': '1', - 'location_id': '1', - 'rtd_location_id': '1', - 'supplier_id': '1', - 'asset_eol_date': '2023-12-31', - 'assigned_to': '1', 'assigned_type': 'user', - 'company_id': '1', - 'manufacturer_id': '1', - 'depreciation_id': '1', 'byod': '1', - 'order_number': 'PO12345', - 'search': 'laptop', - 'filter': '{"status_label":"RTD","location":"Headquarters"}', } headers = { 'Content-Type': 'application/json', @@ -4221,7 +4892,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=po1MHUpzMVPhyFW97gr5Evw2gERZ28qPLmm2o3xG; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=zsk5qqmCwDDO0urpMTuPWVeAIk8EVCCFWJVsfYNt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -4328,10 +4999,10 @@ You can check the Dev Tools console for debugging information.
optional  
-

The action to filter by. Example: audits, checkins

+

The action to filter by: audits, checkins.

upcoming_status   @@ -4339,10 +5010,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The status to filter by. Example: due, overdue, due-or-overdue

+

The status to filter by: due, overdue, due-or-overdue.

status   @@ -4350,10 +5021,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset status to filter by. Example: RTD, Deployed, Pending, Undeployable, Archived, Requestable

+

The asset status to filter by: RTD, Deployed, Pending, Undeployable, Archived, Requestable.

status_id   @@ -4361,10 +5032,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset status ID to filter by. Example: 1

+

The asset status ID to filter by.

asset_tag   @@ -4372,10 +5043,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset tag to filter by. Example: ABC123

+

The asset tag to filter by.

serial   @@ -4383,10 +5054,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The serial number to filter by. Example: SN123456

+

The serial number to filter by.

requestable   @@ -4407,18 +5078,18 @@ You can check the Dev Tools console for debugging information. false
-

Filter by requestable assets. Example: true

+

Filter by requestable assets.

model_id   -string  +integer  optional   -
-

int|array The model ID or IDs to filter by. Example: 1 or model_id[]=1&model_id[]=2

+

The model ID or IDs to filter by.

category_id   @@ -4426,10 +5097,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The category ID to filter by. Example: 1

+

The category ID to filter by.

location_id   @@ -4437,10 +5108,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The location ID to filter by. Example: 1

+

The location ID to filter by.

rtd_location_id   @@ -4448,10 +5119,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The RTD location ID to filter by. Example: 1

+

The RTD location ID to filter by.

supplier_id   @@ -4459,10 +5130,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The supplier ID to filter by. Example: 1

+

The supplier ID to filter by.

asset_eol_date   @@ -4470,10 +5141,10 @@ You can check the Dev Tools console for debugging information. optional  
-

date The asset end-of-life date to filter by. Example: 2023-12-31

+

date The asset end-of-life date to filter by.

assigned_to   @@ -4481,10 +5152,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The user ID or department ID the asset is assigned to. Example: 1

+

The user ID or department ID the asset is assigned to.

assigned_type   @@ -4495,7 +5166,7 @@ You can check the Dev Tools console for debugging information. value="user" data-component="query">
-

The type of assignment, either 'user' or 'department'. Example: user

+

The type of assignment, either 'user' or 'asset' or 'location'. Example: user

company_id   @@ -4503,10 +5174,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The company ID to filter by. Example: 1

+

The company ID to filter by.

manufacturer_id   @@ -4514,10 +5185,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The manufacturer ID to filter by. Example: 1

+

The manufacturer ID to filter by.

depreciation_id   @@ -4525,10 +5196,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The depreciation ID to filter by. Example: 1

+

The depreciation ID to filter by.

byod   @@ -4557,10 +5228,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The order number to filter by. Example: PO12345

+

The order number to filter by. Example:

search   @@ -4568,10 +5239,10 @@ You can check the Dev Tools console for debugging information. optional  
-

A text string to search for. Example: laptop

+

A text string to search for. Example:

filter   @@ -4579,10 +5250,10 @@ You can check the Dev Tools console for debugging information. optional  
-

A JSON object of key/value pairs to filter by. Example: {"status_label":"RTD","location":"Headquarters"}

+

A JSON object of key/value pairs to filter by.

@@ -5412,7 +6083,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=ZsaGl6Ma2AaF2KPBgpJclGg2NWmArGyXM3dTS3Wf; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=yDpxz34OvmUXAUrWAmvqPUqBx0jSrBqASwWCkPI3; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -5586,7 +6257,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=fVNzF7g0DnBQWaCSscY3fjVAKeGUDI0Je0PiUdHS; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=HupEzsHnneFUARG0m2OmnG9MYetucXa0onvgcprT; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -6153,7 +6824,7 @@ You can check the Dev Tools console for debugging information.
curl --request GET \
-    --get "https://snipe-it.test/api/v1/hardware?action=audits%2C+checkins&upcoming_status=due%2C+overdue%2C+due-or-overdue&status=RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable&status_id=1&asset_tag=ABC123&serial=SN123456&requestable=1&model_id=1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2&category_id=1&location_id=1&rtd_location_id=1&supplier_id=1&asset_eol_date=2023-12-31&assigned_to=1&assigned_type=user&company_id=1&manufacturer_id=1&depreciation_id=1&byod=1&order_number=PO12345&search=laptop&filter=%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D" \
+    --get "https://snipe-it.test/api/v1/hardware?assigned_type=user&byod=1" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -6164,28 +6835,8 @@ You can check the Dev Tools console for debugging information. ); const params = { - "action": "audits, checkins", - "upcoming_status": "due, overdue, due-or-overdue", - "status": "RTD, Deployed, Pending, Undeployable, Archived, Requestable", - "status_id": "1", - "asset_tag": "ABC123", - "serial": "SN123456", - "requestable": "1", - "model_id": "1 or model_id[]=1&model_id[]=2", - "category_id": "1", - "location_id": "1", - "rtd_location_id": "1", - "supplier_id": "1", - "asset_eol_date": "2023-12-31", - "assigned_to": "1", "assigned_type": "user", - "company_id": "1", - "manufacturer_id": "1", - "depreciation_id": "1", "byod": "1", - "order_number": "PO12345", - "search": "laptop", - "filter": "{"status_label":"RTD","location":"Headquarters"}", }; Object.keys(params) .forEach(key => url.searchParams.append(key, params[key])); @@ -6212,28 +6863,8 @@ $response = $client->get( 'Accept' => 'application/json', ], 'query' => [ - 'action' => 'audits, checkins', - 'upcoming_status' => 'due, overdue, due-or-overdue', - 'status' => 'RTD, Deployed, Pending, Undeployable, Archived, Requestable', - 'status_id' => '1', - 'asset_tag' => 'ABC123', - 'serial' => 'SN123456', - 'requestable' => '1', - 'model_id' => '1 or model_id[]=1&model_id[]=2', - 'category_id' => '1', - 'location_id' => '1', - 'rtd_location_id' => '1', - 'supplier_id' => '1', - 'asset_eol_date' => '2023-12-31', - 'assigned_to' => '1', 'assigned_type' => 'user', - 'company_id' => '1', - 'manufacturer_id' => '1', - 'depreciation_id' => '1', 'byod' => '1', - 'order_number' => 'PO12345', - 'search' => 'laptop', - 'filter' => '{"status_label":"RTD","location":"Headquarters"}', ], ] ); @@ -6247,28 +6878,8 @@ import json url = 'https://snipe-it.test/api/v1/hardware' params = { - 'action': 'audits, checkins', - 'upcoming_status': 'due, overdue, due-or-overdue', - 'status': 'RTD, Deployed, Pending, Undeployable, Archived, Requestable', - 'status_id': '1', - 'asset_tag': 'ABC123', - 'serial': 'SN123456', - 'requestable': '1', - 'model_id': '1 or model_id[]=1&model_id[]=2', - 'category_id': '1', - 'location_id': '1', - 'rtd_location_id': '1', - 'supplier_id': '1', - 'asset_eol_date': '2023-12-31', - 'assigned_to': '1', 'assigned_type': 'user', - 'company_id': '1', - 'manufacturer_id': '1', - 'depreciation_id': '1', 'byod': '1', - 'order_number': 'PO12345', - 'search': 'laptop', - 'filter': '{"status_label":"RTD","location":"Headquarters"}', } headers = { 'Content-Type': 'application/json', @@ -6297,7 +6908,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=kg9RTUdMrEHyhN5Bd6bZItA5CzuWdzUopKkOGLxn; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=4zHcglQOUm8Q0GcRLew8uq1Jq8rfXF4QhK6SWBiu; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -6381,10 +6992,10 @@ You can check the Dev Tools console for debugging information.
optional  
-

The action to filter by. Example: audits, checkins

+

The action to filter by: audits, checkins.

upcoming_status   @@ -6392,10 +7003,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The status to filter by. Example: due, overdue, due-or-overdue

+

The status to filter by: due, overdue, due-or-overdue.

status   @@ -6403,10 +7014,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset status to filter by. Example: RTD, Deployed, Pending, Undeployable, Archived, Requestable

+

The asset status to filter by: RTD, Deployed, Pending, Undeployable, Archived, Requestable.

status_id   @@ -6414,10 +7025,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset status ID to filter by. Example: 1

+

The asset status ID to filter by.

asset_tag   @@ -6425,10 +7036,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The asset tag to filter by. Example: ABC123

+

The asset tag to filter by.

serial   @@ -6436,10 +7047,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The serial number to filter by. Example: SN123456

+

The serial number to filter by.

requestable   @@ -6460,18 +7071,18 @@ You can check the Dev Tools console for debugging information. false
-

Filter by requestable assets. Example: true

+

Filter by requestable assets.

model_id   -string  +integer  optional   -
-

int|array The model ID or IDs to filter by. Example: 1 or model_id[]=1&model_id[]=2

+

The model ID or IDs to filter by.

category_id   @@ -6479,10 +7090,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The category ID to filter by. Example: 1

+

The category ID to filter by.

location_id   @@ -6490,10 +7101,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The location ID to filter by. Example: 1

+

The location ID to filter by.

rtd_location_id   @@ -6501,10 +7112,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The RTD location ID to filter by. Example: 1

+

The RTD location ID to filter by.

supplier_id   @@ -6512,10 +7123,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The supplier ID to filter by. Example: 1

+

The supplier ID to filter by.

asset_eol_date   @@ -6523,10 +7134,10 @@ You can check the Dev Tools console for debugging information. optional  
-

date The asset end-of-life date to filter by. Example: 2023-12-31

+

date The asset end-of-life date to filter by.

assigned_to   @@ -6534,10 +7145,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The user ID or department ID the asset is assigned to. Example: 1

+

The user ID or department ID the asset is assigned to.

assigned_type   @@ -6548,7 +7159,7 @@ You can check the Dev Tools console for debugging information. value="user" data-component="query">
-

The type of assignment, either 'user' or 'department'. Example: user

+

The type of assignment, either 'user' or 'asset' or 'location'. Example: user

company_id   @@ -6556,10 +7167,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The company ID to filter by. Example: 1

+

The company ID to filter by.

manufacturer_id   @@ -6567,10 +7178,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The manufacturer ID to filter by. Example: 1

+

The manufacturer ID to filter by.

depreciation_id   @@ -6578,10 +7189,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The depreciation ID to filter by. Example: 1

+

The depreciation ID to filter by.

byod   @@ -6610,10 +7221,10 @@ You can check the Dev Tools console for debugging information. optional  
-

The order number to filter by. Example: PO12345

+

The order number to filter by. Example:

search   @@ -6621,10 +7232,10 @@ You can check the Dev Tools console for debugging information. optional  
-

A text string to search for. Example: laptop

+

A text string to search for. Example:

filter   @@ -6632,10 +7243,10 @@ You can check the Dev Tools console for debugging information. optional  
-

A JSON object of key/value pairs to filter by. Example: {"status_label":"RTD","location":"Headquarters"}

+

A JSON object of key/value pairs to filter by.

@@ -6861,7 +7472,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=VY9cDTvWn46QRUoErwcIjYLl770M2MwMI42Pg9xm; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=9oSVzGufN6TNj7OK4IZEgBauebliSH1E23tNbams; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -7329,7 +7940,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=YjsDKEO59Ug1gUfonLIOiJ6nJKwstpQ8zTMzVJKN; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=AZo0eAfOOUQnsCZDbtqlMBcKQqUPojbAawxU7LZX; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -7503,7 +8114,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=JeD8GYZ5kJID9j3qGs8ieaUbZiCqCENvfiUv6m5g; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=8bSKu4dMOYJ9RLZoDoR1hc2MCjBohtq71eEtYOw2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -7804,7 +8415,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=a8fBNBsCZ6g90kBLOVyTdMxkPqeYMaXj3CcsLxHQ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Gnx8F3DAxbo1BxPMKDEaIwjeOWO4DSOqrNjpBWcl; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -8288,7 +8899,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=tM8jGck3i8WEBJ4ZzPsqkPtrRHjdwWJIII7QwxyE; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=39j1TJ4u77vkwpPWdJ21Af8JdFBwVE1mHHQwwKnV; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -8450,7 +9061,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=JQLQBHma98I64t9cecIxazcdG6DPdujDMkO11Xt0; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=YPCXSxw1BCbGdh5TSF65HX2Cum5gdCSSHn0drIo5; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -8751,7 +9362,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=k6BXuD9WRk8WNPWcvfIKRHQKsmzjnhPPfukWphRU; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=rIdjimWLcOlAK7wmJmYroxWHNNVscnRRm0lbYcpf; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -9235,7 +9846,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=cBJMElHNIOAyns5sTaQs1opPLly1pw5jQdPxYFTG; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=l69hDtPUivTY3RkjLz37pbj2GKnC3BLNAOunKiEY; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -9749,7 +10360,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=7kQLg1kCKp2DfUWV5mcP2utNrb5TwvWZ3zqGDTtW; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=B9zjvAcjCF6c2d57F3g71TaOvN54OFQRaK7gd2OC; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -10050,7 +10661,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=5v9ZEo0rEJmMnaEKE1GPxtDyQf3zm8k0JnwrJ2Mr; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=g1FUyaIOABzelOVQTQ3FLYuQ9B1VVxwzjW0w2wTm; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -10534,7 +11145,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=GB19xzV614mIPJYtBLHApC3bBgXqGWsWivI7zZJa; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=ZmtPy0SxU3PM1BVAf3KTTVAmGBTSDy0jt43OqiqE; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -10696,7 +11307,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=YxRN1WGYzVhO1TIWTVq8bzrulbH7yotfLBGIsS80; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=pndgboXKoez4z1LtbisqkbVctfXxddINm8ik5aiy; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -11066,7 +11677,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=TB6zCcPHXL51nzidsogy0zvGndilq7Mm6KrY2UXJ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=QDIxyIp54OjpdRDaNqLN9XhiRzqNjrFZCXkhHwid; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -11500,7 +12111,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=E5h64TTOIO4p5SWsPcRDUTke4NwczjffRUUjivOg; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Ah3XSaDo34D1PxIpQ8pDuauDLYl0RzOxRcI79MjZ; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -12437,7 +13048,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=99zGltIEXJoPssIuY5kdHPhF5WF5aNkP5tfz2L33; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=XGoDMr0ai3wApt6nD6yqGfrMn5rqrw5p8RDcPNFK; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -12738,7 +13349,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=9OK5wTM6hJF8UC7pVlzDFdbw1hlxnaTRgbMVPdbr; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=b9D8k1gvQZIlMPBBI3MZfLYQCERes850mIsxGXMo; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -13532,7 +14143,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=oNXbSKBODGKzLyK9z0f9CffLsod39tPJdleakVm1; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=wfdqPJ45wyKEmwY0aZqQ066UDLFOh6b0DaCn8vj2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -13833,7 +14444,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=exd0ejuLQeSH2na1V3uj0dImHDa3Pfq7vnM04CdD; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=6j8uTg18mlNpS0i134Y5HZfn046xO1Xrkb1dVKBM; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -14317,7 +14928,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=q39mzTRuKTXhiFNT9X71Saja38lJQAENLyU0KAIL; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=HX1E99230RsSiSAYyYt8ymjo93rW1Po4Y2iaHBbY; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -14515,7 +15126,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=psliGrHoU0KWxlZ0WtN7bz5I0G6iOpUdq8dmhAM9; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=H1fi0QDG96zZ4zAFyyfP6RXjquDCstRQiT25jXQ7; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -14916,7 +15527,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=8RjAJLgSPWQqA2O7ew4upuiEyMwFy9gpyczV3LCp; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=XksLdkSCcvKWuJHct75vHD6lb5PcsiRS9PR1K9SR; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -15400,7 +16011,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=rYOmiCCFOGpmfN0yPDBdmqW7E9d8hswPlUujyo4P; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=kjoK9tIvADO49x8wh7YBfUbHLwfFmZiogfxlIx8e; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -15701,7 +16312,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=wJKmqPQkUusAB4HQq2NbZHKAzkslnIQx7HcXkw0k; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=PcuDIeeJRqicdRSHDLcDpUjTfLN1Xz8JRFkdnbYB; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -16185,7 +16796,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=flFdpkx3IBOTXfODZeLo8E0fS9tvAmd2crd78UWY; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=1XRIXqHTHmoidi0ffEqwHcaQnYNbA6UYCHsK0yeE; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -16370,7 +16981,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=INilwKsuWgb4tyIZaqdgAry89pal3Lo9ouL3x16z; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=yW8kji4VdrZVOH8CBP4COEYKKVG923atDdaJ0dNn; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -17056,7 +17667,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=rcq5qxowxiylcX2tcmPIO6MXYFDjnBCy1sYELCRr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=BS1Bq4UFPDXwLQZRs3pSJixFMMpgJxfBOmr4DWl5; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -17512,7 +18123,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=sIO514ykUFGr9tWC2k0GUGQn0ecm51seHwiaxYAu; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Vx7BzraR3SCrM5l8wEl64mF54nlfR6tGzf4fcv2W; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -17686,7 +18297,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=sqJOx3iLo1kJxTd8mmQ2btLXJxPePoM2XzJz0YxG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=p1OaN8jLuQSkhULdDAEPeglceyX2BrdC9De6tkpP; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -17852,7 +18463,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=WPLnc4UXk0pZFNqpQgshxtUG9L1OvbZX2BIBPV2G; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=GsLdJ1PUvsI9174uM06Rcv7e2T0LLe9v4lcwIbTA; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -18047,7 +18658,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=fTHS0kpnxeIXRqzK5xzNc03B62DpKmQ2BiqWnBgc; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=IO91xw66IfWrGGBCgBI6lwj3IuLkd7OOqQ9NdJke; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -18437,7 +19048,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=IAwA0qXWtxL9lb0ifXGpFqJj8eNcNUDDALgJlAZL; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=oHg7lJM8DAT5ZUQLjJ7KNW23lT8W6oOd0rzEwSbt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -18918,7 +19529,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=AeCtsuabi8bZKwRzQdr8p7XJiL1Jac94HywjTk3e; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=QjJEb98EV0RwDHTQcOylyUvaRVYrNHNQ5saV5WED; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -19092,7 +19703,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=929jjEqg98XCM3WkRgG28cYD2K5BgE7sEI6R6cZ6; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=JZePiyxly78weK50lzr6qf09bL1XOr8TGIDmv0Py; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -19462,7 +20073,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=kxkAn6ktvDEdpCvR2riFQus14bXiRAXJ8XCncjws; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=jWuLhK0gZXMcSoJ3gjMe31Ys9BApDOCFRlynDRE2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -19624,7 +20235,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=Nf1tNFD7n2qoaiLc23yMxOkHBaFZAOiAnSm6tcTb; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=YKRhZlOs0DbXICR0t3y0HWzTIN2aCeh17uYYavce; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -19798,7 +20409,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=62yt5S3mxzYYSMUmyhYhIwtyMGJsD3eDd6OSGQwA; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=BuTYvjG5ingO4kODcJSrcuK3ZgD1kCxCCl5pjHVV; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -19972,7 +20583,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=T8p4JqeUHZZN2prYTOhKgBcrEe0doawfuquJ3bEa; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=5yywKXasxT2awvUdynRcjG934YHYPP15sSbVJEJK; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -20194,7 +20805,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=SqYzY3n9eFlPontR5x5bUmCq63qtjt87IMGcn6b9; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=KA53NGw7xt6u5b4C2hs1ZUEFgRey28iNpGgkIz3w; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -20639,7 +21250,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=Xu6H2IlOJprQvX5dpFgKolsA7LUHJtPQJ21uiyMr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=bdbj1NyL6Jdb2tEcgjS9Rfrjdj5Ssp0AhxvM4nu0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -21162,7 +21773,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=a6zHAj7joxmpz5X9eBbbTU8ejfcPJPyO0bHiw6ys; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=MykmAIDiNGruoLSzqvzqlMIoUTnOUqr2pVVfgFw1; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -21574,7 +22185,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=CEzYacpuuQZ4tw7X9yROCQVJhKxckdutV9Izk7mv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=fCDCxFbwzZZwPH8hOpwKcjLz4YCR2gZ2DKGQJT4u; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -22058,7 +22669,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=G8n3vdsgPCj9VKm7UDvioWQJWWO6VClAeZU7VWbZ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=EOCHbNiLhd1V8GlNACOOheSDg2Fh5fpo36OaUYk0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -22413,7 +23024,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=1MZWSqnleW9A9xxg84gio9OKpDCDIUJZK1qdqBer; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Ng8RBSTTVGgrXNkQxr5nn17aNqRG2cxClMZdMgp9; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=719999; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -22836,7 +23447,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=Ox4B9rI7uuddpp7UlnUEbmqbLLd3mLszZoXEWxyG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=kp6Uan6rAZCd8rCSERRfxYV3xjh4ZzzIX8jsI50z; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -23237,493 +23848,7 @@ You can check the Dev Tools console for debugging information.
-

GET api/v1

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request GET \
-    --get "https://snipe-it.test/api/v1" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "GET",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1';
-$response = $client->get(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('GET', url, headers=headers)
-response.json()
- -
- - -
-

Example response (401):

-
-
- - Show headers - -
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
-content-type: application/json
-vary: Origin
-pragma: no-cache
-expires: Sun, 02 Jan 1990 00:00:00 GMT
-x-content-type-options: nosniff
-feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
-referrer-policy: same-origin
-content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=jgR3H8NxpOZswCMLNyP7Jr4JSKaAduEOFuKfWsPc; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
- 
-
-{
-    "error": "Unauthorized or unauthenticated."
-}
- 
-
- - -
-

- Request    - -    - -

-

- GET - api/v1 -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-
- -

Display a listing of requested assets.

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request GET \
-    --get "https://snipe-it.test/api/v1/account/requests" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/account/requests"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "GET",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/account/requests';
-$response = $client->get(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/account/requests'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('GET', url, headers=headers)
-response.json()
- -
- - -
-

Example response (401):

-
-
- - Show headers - -
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
-content-type: application/json
-vary: Origin
-pragma: no-cache
-expires: Sun, 02 Jan 1990 00:00:00 GMT
-x-content-type-options: nosniff
-feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
-referrer-policy: same-origin
-content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=sAVv5eThRkdkR5M8lrJ4D89mdhNARZZjpgTNYwbF; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
- 
-
-{
-    "error": "Unauthorized or unauthenticated."
-}
- 
-
- - -
-

- Request    - -    - -

-

- GET - api/v1/account/requests -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-
- -

Display the EULAs accepted by the user.

- -

-requires authentication -

- -

@param \App\Http\Transformers\ActionlogsTransformer $transformer

- - -
Example request:
- - -
-
curl --request GET \
-    --get "https://snipe-it.test/api/v1/account/eulas" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/account/eulas"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "GET",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/account/eulas';
-$response = $client->get(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/account/eulas'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('GET', url, headers=headers)
-response.json()
- -
- - -
-

Example response (401):

-
-
- - Show headers - -
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
-content-type: application/json
-vary: Origin
-pragma: no-cache
-expires: Sun, 02 Jan 1990 00:00:00 GMT
-x-content-type-options: nosniff
-feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
-referrer-policy: same-origin
-content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=sGpQnsbOAvzzSif7RWGBnpRT3crgiMnNqGrkpJZ2; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
- 
-
-{
-    "error": "Unauthorized or unauthenticated."
-}
- 
-
- - -
-

- Request    - -    - -

-

- GET - api/v1/account/eulas -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-
- -

POST api/v1/account/request/{asset_id}

+

POST api/v1/account/request/{asset_id}

requires authentication @@ -24022,458 +24147,6 @@ You can check the Dev Tools console for debugging information. data-component="url">

The ID of the asset. Example: 1

- - - -

Delete an API token

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request POST \
-    "https://snipe-it.test/api/v1/account/personal-access-tokens" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/account/personal-access-tokens"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "POST",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/account/personal-access-tokens';
-$response = $client->post(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/account/personal-access-tokens'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('POST', url, headers=headers)
-response.json()
- -
- - - - - -
-

- Request    - -    - -

-

- POST - api/v1/account/personal-access-tokens -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-
- -

Show user's API tokens

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request GET \
-    --get "https://snipe-it.test/api/v1/account/personal-access-tokens" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/account/personal-access-tokens"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "GET",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/account/personal-access-tokens';
-$response = $client->get(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/account/personal-access-tokens'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('GET', url, headers=headers)
-response.json()
- -
- - -
-

Example response (401):

-
-
- - Show headers - -
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
-content-type: application/json
-vary: Origin
-pragma: no-cache
-expires: Sun, 02 Jan 1990 00:00:00 GMT
-x-content-type-options: nosniff
-feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
-referrer-policy: same-origin
-content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=LNRDQR1CZpACyPTiuFMrE94N62SnROd72GbwESk2; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
- 
-
-{
-    "error": "Unauthorized or unauthenticated."
-}
- 
-
- - -
-

- Request    - -    - -

-

- GET - api/v1/account/personal-access-tokens -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-
- -

Delete an API token

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request DELETE \
-    "https://snipe-it.test/api/v1/account/personal-access-tokens/architecto" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/account/personal-access-tokens/architecto"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "DELETE",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/account/personal-access-tokens/architecto';
-$response = $client->delete(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/account/personal-access-tokens/architecto'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('DELETE', url, headers=headers)
-response.json()
- -
- - - - - -
-

- Request    - -    - -

-

- DELETE - api/v1/account/personal-access-tokens/{tokenId} -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-

URL Parameters

-
- tokenId   -string  -   - -
-

Example: architecto

@@ -24711,7 +24384,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=yQqAcTcuPtWDcFbT5Wn7cr1VnYRw5K0GEnRqf6aX; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=sHPMC2SqAZ5cAOx1UvXW3elAy3P3oiipptk2p0FZ; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -24873,7 +24546,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=G3alAwTqzzpBmnRgDDO2pPjTXFmzZ6usPyrFjhJ1; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=KyijYcHB8a6W2I03kqLUp8Ca0jSq1NkkGSEAafJW; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -25047,7 +24720,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=AJaxkunAlxEsroyGEAyGe505rTbVShhvJ3zae1zv; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=DhLS17un2bga4hm36kDHWijjLccRe4D7qGWeertj; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -25221,7 +24894,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=h32nE0HKwzQc7ss03y6gTtADpj5SPTwZahWnca9n; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=jwgg1JDhWc8bhd88IkSMh8NrfSTdnbKXDnIvbazB; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -25312,307 +24985,6 @@ You can check the Dev Tools console for debugging information.
-

GET api/v1/settings/ldaptest

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request GET \
-    --get "https://snipe-it.test/api/v1/settings/ldaptest" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/settings/ldaptest"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "GET",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/settings/ldaptest';
-$response = $client->get(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/settings/ldaptest'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('GET', url, headers=headers)
-response.json()
- -
- - -
-

Example response (401):

-
-
- - Show headers - -
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
-content-type: application/json
-vary: Origin
-pragma: no-cache
-expires: Sun, 02 Jan 1990 00:00:00 GMT
-x-content-type-options: nosniff
-feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
-referrer-policy: same-origin
-content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=xMzuu6FkX6EJwgJRpWHfXA47kwCUxYfjMYuo7fKH; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
- 
-
-{
-    "error": "Unauthorized or unauthenticated."
-}
- 
-
- - -
-

- Request    - -    - -

-

- GET - api/v1/settings/ldaptest -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-
- -

Delete server-cached barcodes

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request POST \
-    "https://snipe-it.test/api/v1/settings/purge_barcodes" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/settings/purge_barcodes"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "POST",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/settings/purge_barcodes';
-$response = $client->post(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/settings/purge_barcodes'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('POST', url, headers=headers)
-response.json()
- -
- - - - - -
-

- Request    - -    - -

-

- POST - api/v1/settings/purge_barcodes -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-
-

Get a list of login attempts

@@ -25696,7 +25068,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=yFgejJJjq2EpZkpb6c9p5KdS6FvafeMmSits5OhR; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=PixSpuAiQcKGKevpNoGvcac0DIIlsvBhhwm35Sov; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax

 
 {
@@ -25775,326 +25147,6 @@ You can check the Dev Tools console for debugging information.
-

POST api/v1/settings/ldaptestlogin

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request POST \
-    "https://snipe-it.test/api/v1/settings/ldaptestlogin" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json" \
-    --data "{
-    \"ldaptest_user\": \"architecto\",
-    \"ldaptest_password\": \"architecto\"
-}"
-
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/settings/ldaptestlogin"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-let body = {
-    "ldaptest_user": "architecto",
-    "ldaptest_password": "architecto"
-};
-
-fetch(url, {
-    method: "POST",
-    headers,
-    body: JSON.stringify(body),
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/settings/ldaptestlogin';
-$response = $client->post(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-        'json' => [
-            'ldaptest_user' => 'architecto',
-            'ldaptest_password' => 'architecto',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/settings/ldaptestlogin'
-payload = {
-    "ldaptest_user": "architecto",
-    "ldaptest_password": "architecto"
-}
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('POST', url, headers=headers, json=payload)
-response.json()
- -
- - - - - -
-

- Request    - -    - -

-

- POST - api/v1/settings/ldaptestlogin -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-

Body Parameters

-
- ldaptest_user   -string  -   - -
-

Example: architecto

-
-
- ldaptest_password   -string  -   - -
-

Example: architecto

-
-
- -

Test the email configuration

- -

-requires authentication -

- - - - -
Example request:
- - -
-
curl --request POST \
-    "https://snipe-it.test/api/v1/settings/mailtest" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/settings/mailtest"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "POST",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/settings/mailtest';
-$response = $client->post(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/settings/mailtest'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('POST', url, headers=headers)
-response.json()
- -
- - - - - -
-

- Request    - -    - -

-

- POST - api/v1/settings/mailtest -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-
-

Lists backup files

@@ -26178,7 +25230,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=qjjT0ujUAX45xiacm1WWNGAXHCzg829WwY9QUpTt; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=ZdyXnJL3ZjvVbGA20TL3YJvFVtvXfMSfnMxdR0u3; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax

 
 {
@@ -26340,7 +25392,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=G5VGebkI7Efpep55pj0YsY4IxIloqwUuNWxU8K4D; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=12H7czcfvhzN41bMPpVZ6uJSv3ldPqeXqxYn3Hfx; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -26503,7 +25555,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=4OEK9LMHgIKcB4ECJAWKwyizzizwLDT4F2goIdDA; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=7262fNrfUhCtn7FC7YV1iiIZzwoF2PrBqd6Axi1d; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -26591,180 +25643,6 @@ You can check the Dev Tools console for debugging information.
data-component="url">

Example: architecto

- - - -

Display the EULAs accepted by the user.

- -

-requires authentication -

- -

@param \App\Models\User $user

- - -
Example request:
- - -
-
curl --request GET \
-    --get "https://snipe-it.test/api/v1/users/2/eulas" \
-    --header "Content-Type: application/json" \
-    --header "Accept: application/json"
- - -
-
const url = new URL(
-    "https://snipe-it.test/api/v1/users/2/eulas"
-);
-
-const headers = {
-    "Content-Type": "application/json",
-    "Accept": "application/json",
-};
-
-fetch(url, {
-    method: "GET",
-    headers,
-}).then(response => response.json());
- - -
-
$client = new \GuzzleHttp\Client();
-$url = 'https://snipe-it.test/api/v1/users/2/eulas';
-$response = $client->get(
-    $url,
-    [
-        'headers' => [
-            'Content-Type' => 'application/json',
-            'Accept' => 'application/json',
-        ],
-    ]
-);
-$body = $response->getBody();
-print_r(json_decode((string) $body));
- - -
-
import requests
-import json
-
-url = 'https://snipe-it.test/api/v1/users/2/eulas'
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-response = requests.request('GET', url, headers=headers)
-response.json()
- -
- - -
-

Example response (401):

-
-
- - Show headers - -
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
-content-type: application/json
-vary: Origin
-pragma: no-cache
-expires: Sun, 02 Jan 1990 00:00:00 GMT
-x-content-type-options: nosniff
-feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
-referrer-policy: same-origin
-content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=Ht9zEvd6BoGAmteUr9U0M1EhukRDU8R7sB8mSOKw; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
- 
-
-{
-    "error": "Unauthorized or unauthenticated."
-}
- 
-
- - -
-

- Request    - -    - -

-

- GET - api/v1/users/{user_id}/eulas -

-

Headers

-
- Content-Type   -  -   - -
-

Example: application/json

-
-
- Accept   -  -   - -
-

Example: application/json

-
-

URL Parameters

-
- user_id   -integer  -   - -
-

The ID of the user. Example: 2

@@ -26851,7 +25729,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=CPJbwvdCxw0DYqUMJxxi8OmNeup4BlA5rkQirAju; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=9pbW3Lj27gqsdqjf9Onr74qGlwdQxRO7HKtgdSxR; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -27152,7 +26030,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=EU4sT1Hqg6oKZJKuvM3vDzUQrdg41Ff7DIAwsXRf; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=uskGZUp3AzQqeC2JdKpRCiJjEIuCgDp8LHywERj6; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -27632,7 +26510,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=1qhgimw5bC0fHQGSgVgJqKcaSW42IqRJ2F4polDF; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=VXG7nhRBx0n9dmOU9H9g0JoiTzOuE2oWJn9foBNu; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -28281,7 +27159,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=WdH9GMKFEFXrDlSabXmWC61WEVsbjEsXfzuZvGcB; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=KrrLKfzDmsdlm5LulANZUYoCPy9sh7nNRx3HCSmt; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -28606,7 +27484,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=WOfLcw4xJKTMbort9bqVzAXqpZ6f1qWOp8sBkfH3; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Ymdsfjt4VVVhtRDZjt1vEh8ftmFUrewMizYO5VZg; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -29255,7 +28133,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=aEC6avo9gEeVKvjyRHL2MEy5P5L3nTdocVk5flUL; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Ofw7nV48LnTp8SAN2B8W7nWuAw1jpI7GuFCRxc6B; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -29904,7 +28782,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=c7RrS9j8xGNhya4Ts8R7yKc2ymIrPo607cHUZOOR; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=zBZCXN8IrVhp0gmWImh45OcrU6cQm00sPVHDni5M; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -30066,7 +28944,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=z1U2ClGhYZv5iKYA4cWb5k2YHUchy9a9HUSWQNDX; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=6Cmpyzc2mOwZhTp7cE5pqa2YsN7c3q0lR8gZIOZ7; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -30228,7 +29106,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=oM63SLXqghs9b2nURW4ZbHp9KipkcIdGDeHIP1OF; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=t71KbEhwD7gcUBoIZY7GnisT1MghbetA8AdH2CZo; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -30406,7 +29284,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=vBXFctl7onEDovM8eSKc93QsS5L4tAqovRrD5NXz; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=hvRc22afMc91wsdTT85Ht47Q29HBb3EbvY2z3Y1O; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -30568,7 +29446,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=THFowyEVGhU3x5t9BPD4sAFlPBoRSVA3IVlcS0o2; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Cl16Du8NHw18bURF7kVm0zrgflHanUmuWj6R2LDu; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -30730,7 +29608,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=igTsi93UE725qACTUUOAQNldCyy6HiyL6IwO1uir; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=NeW9gaoRdvWuQC1aQSk6kx1A72Si2V8WFp9z1egL; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -31497,7 +30375,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=qmx3IT8bGNwfKDYs3HXdICl59fpNBPkN9gMQP0E6; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=xAEtyBUGWlC0moD22O7DJgUD3CqXGEWotGEuwSA7; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -31588,6 +30466,631 @@ You can check the Dev Tools console for debugging information.
+

Settings

+ + + +

Test LDAP Connection

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://snipe-it.test/api/v1/settings/ldaptest" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/settings/ldaptest"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/settings/ldaptest';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/settings/ldaptest'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('GET', url, headers=headers)
+response.json()
+ +
+ + +
+

Example response (401):

+
+
+ + Show headers + +
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
+content-type: application/json
+vary: Origin
+pragma: no-cache
+expires: Sun, 02 Jan 1990 00:00:00 GMT
+x-content-type-options: nosniff
+feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
+referrer-policy: same-origin
+content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
+set-cookie: snipe-dev_local=mWYpyrpeGcsbvxTh42aAgm1BUzHcKW2ZzcbI3Cxq; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+ 
+
+{
+    "error": "Unauthorized or unauthenticated."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/v1/settings/ldaptest +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Delete Barcode Cache

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://snipe-it.test/api/v1/settings/purge_barcodes" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/settings/purge_barcodes"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/settings/purge_barcodes';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/settings/purge_barcodes'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('POST', url, headers=headers)
+response.json()
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/v1/settings/purge_barcodes +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Test LDAP Login

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://snipe-it.test/api/v1/settings/ldaptestlogin" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"ldaptest_user\": \"architecto\",
+    \"ldaptest_password\": \"architecto\"
+}"
+
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/settings/ldaptestlogin"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "ldaptest_user": "architecto",
+    "ldaptest_password": "architecto"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/settings/ldaptestlogin';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'ldaptest_user' => 'architecto',
+            'ldaptest_password' => 'architecto',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/settings/ldaptestlogin'
+payload = {
+    "ldaptest_user": "architecto",
+    "ldaptest_password": "architecto"
+}
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('POST', url, headers=headers, json=payload)
+response.json()
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/v1/settings/ldaptestlogin +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ ldaptest_user   +string  +   + +
+

Example: architecto

+
+
+ ldaptest_password   +string  +   + +
+

Example: architecto

+
+
+ +

Test Email Configuration

+ +

+requires authentication +

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://snipe-it.test/api/v1/settings/mailtest" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/settings/mailtest"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/settings/mailtest';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/settings/mailtest'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('POST', url, headers=headers)
+response.json()
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/v1/settings/mailtest +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+

Status Labels

@@ -31676,7 +31179,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=G20C8NLrpkVqlc0NNio7g3ptJtPAXnibwwTVNQeQ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=DwH0Z0jznkmdlwerWNY0sBvt01HFqQoipoH7NPNf; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
 
 {
@@ -31838,7 +31341,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=nfojjoCoFBvDIofUosz4FAHEbARc2LWdBDY9mRRx; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=IJSRhBnYtFd0syyXU680YEwF0BIMthCNLfOpcyLN; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -32000,7 +31503,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=uVOpCavS7QSLRjH0yDdyV74jegAqu5eXuqTRB3uG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=ZOIZ05Rp1YVJaN29a0oGwiyWTrTTcUqo5lc5IjPs; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -32162,7 +31665,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=Ht7V7qpACUTVu7IJzwwbJUXuxblHSrmHNUCajeqk; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=aF0alOp2ocaDp8IgwKesKh7farzPtxeAUhyc28IF; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -32341,7 +31844,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=z9QIVR09zOjzp4SfQ6PnSyHPmMBgIdL6rWPk4LtG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=yvmceFpSYfSsG4CbvhhMs2cBhFlHEqvGVKDevoDG; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -32527,7 +32030,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=UW9ov1LkpK1Z1YliskXZEW6plEgpQW1YZuYsdica; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=IYg40ZEyQBdflyTTVSdA6PDnYUm7TgE9JH3IZfKU; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -32840,7 +32343,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=ReQua8ijyQpft7NDUog7TgQclP19t4LEGrFQNt1b; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=4fGnpY6Knc6SJS5TS7WkNHK5Ec5qPilO6DhNftpy; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -33324,7 +32827,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=BR6PeveVGsilxq1FP5fT6WAioeCFDL1gUs6Ym9rZ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=65C7TW1PiGjeaD2y6hvRsGYfeIbw6nlsoiJ0xwP6; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -33546,7 +33049,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=GIWthbIGeD8hOuFNzuVJJexwmXJT7t1Lu2iovTWr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=Ygwy1qbumTs3btIGwY6tegcN8o9isTe6KzDLCsCz; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -34035,7 +33538,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=u3CtCeJlscwNdonOQgzzRAz7L5b7PUJA5QGFugkY; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=toyAMs6CPONOBpGPTaErVBrkQmGal9vH0b3ZBo3s; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -34519,7 +34022,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=fFeEpKb9M61WnUEMGDCSuV4kfzkJcCXWsnUeIGee; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=kC65uNZYirk9MpUgY1qQWRkj8R3yUD1VsJxETu8o; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -34820,7 +34323,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=fZJPTXSFdFjqLShHjCZ9g1GFuEMP6MVXn0DqT1QF; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=nXikZnt2yCTS1oU2rDLd5ug3LCWqkpnmTqdOdsHi; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -35304,7 +34807,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=JC6ltPDEnZt7b2BKD6p43Hf6gJpbvexFKPt1vVbv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=kw28HZIT52r8jz3Sbo6hnarUjf8SBB3clQMub2dP; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -35744,7 +35247,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=v6Cb1rLm3mlkNzuAF1e9YU4OfC74Iqhj4N9H03fv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=LmY8gP1mxEcxwQkzCIEl6Jjry5STc3MsQZzeBHCB; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -35823,6 +35326,180 @@ You can check the Dev Tools console for debugging information.
+

User EULAs

+ +

+requires authentication +

+ +

Gets the lst of accepted EULAs for a user,

+ + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://snipe-it.test/api/v1/users/2/eulas" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://snipe-it.test/api/v1/users/2/eulas"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://snipe-it.test/api/v1/users/2/eulas';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
import requests
+import json
+
+url = 'https://snipe-it.test/api/v1/users/2/eulas'
+headers = {
+  'Content-Type': 'application/json',
+  'Accept': 'application/json'
+}
+
+response = requests.request('GET', url, headers=headers)
+response.json()
+ +
+ + +
+

Example response (401):

+
+
+ + Show headers + +
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
+content-type: application/json
+vary: Origin
+pragma: no-cache
+expires: Sun, 02 Jan 1990 00:00:00 GMT
+x-content-type-options: nosniff
+feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
+referrer-policy: same-origin
+content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
+set-cookie: snipe-dev_local=x1EHM0OT00cWXn3wkfghPYlJTB9zt8rzQF4tfUzH; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+ 
+
+{
+    "error": "Unauthorized or unauthenticated."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/v1/users/{user_id}/eulas +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ user_id   +integer  +   + +
+

The ID of the user. Example: 2

+
+
+

List Assets Assigned to User

@@ -35906,7 +35583,7 @@ x-content-type-options: nosniff feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none' referrer-policy: same-origin content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com -set-cookie: snipe-dev_local=NM7fi7M9rXZA4UsxLSrlxCrnhqup454f060pIp2G; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax +set-cookie: snipe-dev_local=ljzGjKMqRjPz4VlUKPgAJwPJJH3mwnnME1G4oWLz; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax

 
 {
@@ -36231,7 +35908,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=KCloddtglY2T8yjhIKUdghLKpNfXla9kNHBZ43ov; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=VIlQixrYDtsKUoezxmmxC394ECo9BEQREUTKa9u1; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -36405,7 +36082,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=eUKLUGZlhjIQ7LBaXgHhnmtV2ULOtAixNSPaoUj5; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=GYgntzVmH8K85tM7eOtGuJ8isoBo8dTIYsydB8oI; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -36820,7 +36497,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=s07zlyGGJd59cbeYkhBsNL77mOqzDJopVBTzIxnO; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=QJt4tI6q4BEnSsQdQidC0TRd8hJ4EnWZ0DrL84VE; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
@@ -37439,7 +37116,7 @@ x-content-type-options: nosniff
 feature-policy: accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'
 referrer-policy: same-origin
 content-security-policy: default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com
-set-cookie: snipe-dev_local=xbTJ0W206Ov3xctFXMSvwEt61rFFMK3phcqDGQ0s; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
+set-cookie: snipe-dev_local=00onEwBFqp7htmXXtBhRhhAGNJHnlo87YcbqKB1Z; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax
  
 
 {
diff --git a/storage/scribe/collection.json b/storage/scribe/collection.json
index 8026bb942d..3b6d320ff0 100644
--- a/storage/scribe/collection.json
+++ b/storage/scribe/collection.json
@@ -10,7 +10,7 @@
     ],
     "info": {
         "name": "Evolu\u00e7\u00e3o local de snipe-it API Documentation",
-        "_postman_id": "39b21647-01e3-47a9-90ba-2c0ac4e67c2e",
+        "_postman_id": "df2531f9-f61a-4089-a1ce-69b4f0ddd340",
         "description": "This documentation aims to provide all the information you need to work with the Snipe-IT API.",
         "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json"
     },
@@ -91,7 +91,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=wFPirCLmI5Qlpim62U5T8yvZtjqzmIGHFxQ3hzIZ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=4xsr65A4AFjnEtAOzz8268YNOMlBA0vQLeN2KDp0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -270,7 +270,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=OWq14tCum5ZSf6uUlWPqrsC47ncQqkZgrWnXgpLB; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Fz1Mp9Wc39HRit2HoHC1gn3IUFaLtitvdOOsLXRc; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -379,7 +379,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=D7Dn1nLGrjpIg1nzsvU7qQdh6KydawNPUuwYvN3k; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=qecJ95XCfKjx7KpLEN1GMOu6oyWTUCQ0sgYxOcnr; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -456,6 +456,289 @@
                 }
             ]
         },
+        {
+            "name": "Account",
+            "description": "",
+            "item": [
+                {
+                    "name": "Display Requested Assets",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/account\/requests",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/account\/requests"
+                        },
+                        "method": "GET",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": ""
+                    },
+                    "response": [
+                        {
+                            "header": [
+                                {
+                                    "key": "cache-control",
+                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
+                                },
+                                {
+                                    "key": "content-type",
+                                    "value": "application\/json"
+                                },
+                                {
+                                    "key": "vary",
+                                    "value": "Origin"
+                                },
+                                {
+                                    "key": "pragma",
+                                    "value": "no-cache"
+                                },
+                                {
+                                    "key": "expires",
+                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
+                                },
+                                {
+                                    "key": "x-content-type-options",
+                                    "value": "nosniff"
+                                },
+                                {
+                                    "key": "feature-policy",
+                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
+                                },
+                                {
+                                    "key": "referrer-policy",
+                                    "value": "same-origin"
+                                },
+                                {
+                                    "key": "content-security-policy",
+                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
+                                },
+                                {
+                                    "key": "set-cookie",
+                                    "value": "snipe-dev_local=0Ofpg9lqsCx0l3dLVF9yZnquqVPTKFD2MarToo0b; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                }
+                            ],
+                            "code": 401,
+                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
+                            "name": ""
+                        }
+                    ]
+                },
+                {
+                    "name": "Display Accepted EULAs",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/account\/eulas",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/account\/eulas"
+                        },
+                        "method": "GET",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": ""
+                    },
+                    "response": [
+                        {
+                            "header": [
+                                {
+                                    "key": "cache-control",
+                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
+                                },
+                                {
+                                    "key": "content-type",
+                                    "value": "application\/json"
+                                },
+                                {
+                                    "key": "vary",
+                                    "value": "Origin"
+                                },
+                                {
+                                    "key": "pragma",
+                                    "value": "no-cache"
+                                },
+                                {
+                                    "key": "expires",
+                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
+                                },
+                                {
+                                    "key": "x-content-type-options",
+                                    "value": "nosniff"
+                                },
+                                {
+                                    "key": "feature-policy",
+                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
+                                },
+                                {
+                                    "key": "referrer-policy",
+                                    "value": "same-origin"
+                                },
+                                {
+                                    "key": "content-security-policy",
+                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
+                                },
+                                {
+                                    "key": "set-cookie",
+                                    "value": "snipe-dev_local=rxLAV3nb8Lm1vnASccPchKo5Xr1r4FFmSpQZ7iae; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                }
+                            ],
+                            "code": 401,
+                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
+                            "name": ""
+                        }
+                    ]
+                },
+                {
+                    "name": "Create API token",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/account\/personal-access-tokens",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/account\/personal-access-tokens"
+                        },
+                        "method": "POST",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": ""
+                    },
+                    "response": []
+                },
+                {
+                    "name": "Show API tokens",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/account\/personal-access-tokens",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/account\/personal-access-tokens"
+                        },
+                        "method": "GET",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": ""
+                    },
+                    "response": [
+                        {
+                            "header": [
+                                {
+                                    "key": "cache-control",
+                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
+                                },
+                                {
+                                    "key": "content-type",
+                                    "value": "application\/json"
+                                },
+                                {
+                                    "key": "vary",
+                                    "value": "Origin"
+                                },
+                                {
+                                    "key": "pragma",
+                                    "value": "no-cache"
+                                },
+                                {
+                                    "key": "expires",
+                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
+                                },
+                                {
+                                    "key": "x-content-type-options",
+                                    "value": "nosniff"
+                                },
+                                {
+                                    "key": "feature-policy",
+                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
+                                },
+                                {
+                                    "key": "referrer-policy",
+                                    "value": "same-origin"
+                                },
+                                {
+                                    "key": "content-security-policy",
+                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
+                                },
+                                {
+                                    "key": "set-cookie",
+                                    "value": "snipe-dev_local=EoEpl701guwl7yUoXuGM2uBS757gjJ5VProi3qdF; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                }
+                            ],
+                            "code": 401,
+                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
+                            "name": ""
+                        }
+                    ]
+                },
+                {
+                    "name": "Delete API token",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/account\/personal-access-tokens\/:tokenId",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/account\/personal-access-tokens\/:tokenId",
+                            "variable": [
+                                {
+                                    "id": "tokenId",
+                                    "key": "tokenId",
+                                    "value": "architecto",
+                                    "description": ""
+                                }
+                            ]
+                        },
+                        "method": "DELETE",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": ""
+                    },
+                    "response": []
+                }
+            ]
+        },
         {
             "name": "Assets",
             "description": "",
@@ -524,7 +807,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=zbA3woO9t2FDFaBsCrozokcWxsnmbRff3VR6q67x; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=I5MurMG2oaqg3P454RS5JwU3zOYiMQ4Mu752l0M2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -542,111 +825,111 @@
                             "query": [
                                 {
                                     "key": "action",
-                                    "value": "audits%2C+checkins",
-                                    "description": "The action to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The action to filter by: audits, checkins.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "upcoming_status",
-                                    "value": "due%2C+overdue%2C+due-or-overdue",
-                                    "description": "The status to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The status to filter by: `due`, `overdue`, `due-or-overdue`.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "status",
-                                    "value": "RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable",
-                                    "description": "The asset status to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "status_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The asset status ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "asset_tag",
-                                    "value": "ABC123",
+                                    "value": "",
                                     "description": "The asset tag to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "serial",
-                                    "value": "SN123456",
+                                    "value": "",
                                     "description": "The serial number to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "requestable",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "Filter by requestable assets.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "model_id",
-                                    "value": "1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2",
-                                    "description": "int|array The model ID or IDs to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The model ID or IDs to filter by.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "category_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The category ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "location_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The location ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "rtd_location_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The RTD location ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "supplier_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The supplier ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "asset_eol_date",
-                                    "value": "2023-12-31",
+                                    "value": "",
                                     "description": "date The asset end-of-life date to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "assigned_to",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The user ID or department ID the asset is assigned to.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "assigned_type",
                                     "value": "user",
-                                    "description": "The type of assignment, either 'user' or 'department'.",
+                                    "description": "The type of assignment, either 'user' or 'asset' or 'location'.",
                                     "disabled": false
                                 },
                                 {
                                     "key": "company_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The company ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "manufacturer_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The manufacturer ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "depreciation_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The depreciation ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "byod",
@@ -656,24 +939,24 @@
                                 },
                                 {
                                     "key": "order_number",
-                                    "value": "PO12345",
-                                    "description": "The order number to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The order number to filter by. Example:",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "search",
-                                    "value": "laptop",
-                                    "description": "A text string to search for.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "A text string to search for. Example:",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "filter",
-                                    "value": "%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D",
+                                    "value": "",
                                     "description": "A JSON object of key\/value pairs to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 }
                             ],
-                            "raw": "{{baseUrl}}\/api\/v1\/reports\/depreciation?action=audits%2C+checkins&upcoming_status=due%2C+overdue%2C+due-or-overdue&status=RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable&status_id=1&asset_tag=ABC123&serial=SN123456&requestable=1&model_id=1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2&category_id=1&location_id=1&rtd_location_id=1&supplier_id=1&asset_eol_date=2023-12-31&assigned_to=1&assigned_type=user&company_id=1&manufacturer_id=1&depreciation_id=1&byod=1&order_number=PO12345&search=laptop&filter=%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D"
+                            "raw": "{{baseUrl}}\/api\/v1\/reports\/depreciation?action=&upcoming_status=&status=&status_id=&asset_tag=&serial=&requestable=&model_id=&category_id=&location_id=&rtd_location_id=&supplier_id=&asset_eol_date=&assigned_to=&assigned_type=user&company_id=&manufacturer_id=&depreciation_id=&byod=1&order_number=&search=&filter="
                         },
                         "method": "GET",
                         "header": [
@@ -730,7 +1013,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=JG7zDn5PXHPIEticUUTUZ6UYyVdD8tXbVulOATER; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=lgpECl5XEBNSghyioYDAIqojY2wKWDElpBXGy0iX; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -803,7 +1086,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=16OzihBU0h4xmW2JUW0vkz5ZNEFBqsf4j0VouuKJ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=qCapayTz590czNpP8xSUCUUB7vdosx4mVIaOPBWt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -884,7 +1167,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=kwE3gnKCzQnr1FQa17AIvOYCbsRx7EeG4NWpBmPS; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=fPZtQcCA1cl8JQwmi75mxq8HdQLD3LwMhNazG9Wu; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -965,7 +1248,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=OvqgWEoNT96szHavg4rG0fw2ALfqiKoxLoKsii5j; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=dZb1Dgz426tSKYXi764GXTAAj3txJctbfOweyf00; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -1137,7 +1420,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=l28ShBmk00D1YpPW9K2z6e0a6sV1PgdTWAP6E97g; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=bLKbCN3YL113zwHdqIHbDf55MnHhuzLviaE9Ki5w; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -1155,111 +1438,111 @@
                             "query": [
                                 {
                                     "key": "action",
-                                    "value": "audits%2C+checkins",
-                                    "description": "The action to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The action to filter by: audits, checkins.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "upcoming_status",
-                                    "value": "due%2C+overdue%2C+due-or-overdue",
-                                    "description": "The status to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The status to filter by: `due`, `overdue`, `due-or-overdue`.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "status",
-                                    "value": "RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable",
-                                    "description": "The asset status to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "status_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The asset status ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "asset_tag",
-                                    "value": "ABC123",
+                                    "value": "",
                                     "description": "The asset tag to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "serial",
-                                    "value": "SN123456",
+                                    "value": "",
                                     "description": "The serial number to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "requestable",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "Filter by requestable assets.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "model_id",
-                                    "value": "1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2",
-                                    "description": "int|array The model ID or IDs to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The model ID or IDs to filter by.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "category_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The category ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "location_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The location ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "rtd_location_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The RTD location ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "supplier_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The supplier ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "asset_eol_date",
-                                    "value": "2023-12-31",
+                                    "value": "",
                                     "description": "date The asset end-of-life date to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "assigned_to",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The user ID or department ID the asset is assigned to.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "assigned_type",
                                     "value": "user",
-                                    "description": "The type of assignment, either 'user' or 'department'.",
+                                    "description": "The type of assignment, either 'user' or 'asset' or 'location'.",
                                     "disabled": false
                                 },
                                 {
                                     "key": "company_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The company ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "manufacturer_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The manufacturer ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "depreciation_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The depreciation ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "byod",
@@ -1269,24 +1552,24 @@
                                 },
                                 {
                                     "key": "order_number",
-                                    "value": "PO12345",
-                                    "description": "The order number to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The order number to filter by. Example:",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "search",
-                                    "value": "laptop",
-                                    "description": "A text string to search for.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "A text string to search for. Example:",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "filter",
-                                    "value": "%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D",
+                                    "value": "",
                                     "description": "A JSON object of key\/value pairs to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 }
                             ],
-                            "raw": "{{baseUrl}}\/api\/v1\/hardware\/:action\/:upcoming_status?action=audits%2C+checkins&upcoming_status=due%2C+overdue%2C+due-or-overdue&status=RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable&status_id=1&asset_tag=ABC123&serial=SN123456&requestable=1&model_id=1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2&category_id=1&location_id=1&rtd_location_id=1&supplier_id=1&asset_eol_date=2023-12-31&assigned_to=1&assigned_type=user&company_id=1&manufacturer_id=1&depreciation_id=1&byod=1&order_number=PO12345&search=laptop&filter=%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D",
+                            "raw": "{{baseUrl}}\/api\/v1\/hardware\/:action\/:upcoming_status?action=&upcoming_status=&status=&status_id=&asset_tag=&serial=&requestable=&model_id=&category_id=&location_id=&rtd_location_id=&supplier_id=&asset_eol_date=&assigned_to=&assigned_type=user&company_id=&manufacturer_id=&depreciation_id=&byod=1&order_number=&search=&filter=",
                             "variable": [
                                 {
                                     "id": "action",
@@ -1357,7 +1640,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=po1MHUpzMVPhyFW97gr5Evw2gERZ28qPLmm2o3xG; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=zsk5qqmCwDDO0urpMTuPWVeAIk8EVCCFWJVsfYNt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -1595,7 +1878,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=ZsaGl6Ma2AaF2KPBgpJclGg2NWmArGyXM3dTS3Wf; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=yDpxz34OvmUXAUrWAmvqPUqBx0jSrBqASwWCkPI3; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -1676,7 +1959,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=fVNzF7g0DnBQWaCSscY3fjVAKeGUDI0Je0PiUdHS; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=HupEzsHnneFUARG0m2OmnG9MYetucXa0onvgcprT; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -1822,111 +2105,111 @@
                             "query": [
                                 {
                                     "key": "action",
-                                    "value": "audits%2C+checkins",
-                                    "description": "The action to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The action to filter by: audits, checkins.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "upcoming_status",
-                                    "value": "due%2C+overdue%2C+due-or-overdue",
-                                    "description": "The status to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The status to filter by: `due`, `overdue`, `due-or-overdue`.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "status",
-                                    "value": "RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable",
-                                    "description": "The asset status to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "status_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The asset status ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "asset_tag",
-                                    "value": "ABC123",
+                                    "value": "",
                                     "description": "The asset tag to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "serial",
-                                    "value": "SN123456",
+                                    "value": "",
                                     "description": "The serial number to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "requestable",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "Filter by requestable assets.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "model_id",
-                                    "value": "1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2",
-                                    "description": "int|array The model ID or IDs to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The model ID or IDs to filter by.",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "category_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The category ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "location_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The location ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "rtd_location_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The RTD location ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "supplier_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The supplier ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "asset_eol_date",
-                                    "value": "2023-12-31",
+                                    "value": "",
                                     "description": "date The asset end-of-life date to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "assigned_to",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The user ID or department ID the asset is assigned to.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "assigned_type",
                                     "value": "user",
-                                    "description": "The type of assignment, either 'user' or 'department'.",
+                                    "description": "The type of assignment, either 'user' or 'asset' or 'location'.",
                                     "disabled": false
                                 },
                                 {
                                     "key": "company_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The company ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "manufacturer_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The manufacturer ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "depreciation_id",
-                                    "value": "1",
+                                    "value": "",
                                     "description": "The depreciation ID to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 },
                                 {
                                     "key": "byod",
@@ -1936,24 +2219,24 @@
                                 },
                                 {
                                     "key": "order_number",
-                                    "value": "PO12345",
-                                    "description": "The order number to filter by.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "The order number to filter by. Example:",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "search",
-                                    "value": "laptop",
-                                    "description": "A text string to search for.",
-                                    "disabled": false
+                                    "value": "",
+                                    "description": "A text string to search for. Example:",
+                                    "disabled": true
                                 },
                                 {
                                     "key": "filter",
-                                    "value": "%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D",
+                                    "value": "",
                                     "description": "A JSON object of key\/value pairs to filter by.",
-                                    "disabled": false
+                                    "disabled": true
                                 }
                             ],
-                            "raw": "{{baseUrl}}\/api\/v1\/hardware?action=audits%2C+checkins&upcoming_status=due%2C+overdue%2C+due-or-overdue&status=RTD%2C+Deployed%2C+Pending%2C+Undeployable%2C+Archived%2C+Requestable&status_id=1&asset_tag=ABC123&serial=SN123456&requestable=1&model_id=1+or+model_id%5B%5D%3D1%26model_id%5B%5D%3D2&category_id=1&location_id=1&rtd_location_id=1&supplier_id=1&asset_eol_date=2023-12-31&assigned_to=1&assigned_type=user&company_id=1&manufacturer_id=1&depreciation_id=1&byod=1&order_number=PO12345&search=laptop&filter=%7B%22status_label%22%3A%22RTD%22%2C%22location%22%3A%22Headquarters%22%7D"
+                            "raw": "{{baseUrl}}\/api\/v1\/hardware?action=&upcoming_status=&status=&status_id=&asset_tag=&serial=&requestable=&model_id=&category_id=&location_id=&rtd_location_id=&supplier_id=&asset_eol_date=&assigned_to=&assigned_type=user&company_id=&manufacturer_id=&depreciation_id=&byod=1&order_number=&search=&filter="
                         },
                         "method": "GET",
                         "header": [
@@ -2010,7 +2293,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=kg9RTUdMrEHyhN5Bd6bZItA5CzuWdzUopKkOGLxn; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=4zHcglQOUm8Q0GcRLew8uq1Jq8rfXF4QhK6SWBiu; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -2116,7 +2399,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=VY9cDTvWn46QRUoErwcIjYLl770M2MwMI42Pg9xm; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=9oSVzGufN6TNj7OK4IZEgBauebliSH1E23tNbams; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -2261,7 +2544,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=YjsDKEO59Ug1gUfonLIOiJ6nJKwstpQ8zTMzVJKN; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=AZo0eAfOOUQnsCZDbtqlMBcKQqUPojbAawxU7LZX; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -2334,7 +2617,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=JeD8GYZ5kJID9j3qGs8ieaUbZiCqCENvfiUv6m5g; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=8bSKu4dMOYJ9RLZoDoR1hc2MCjBohtq71eEtYOw2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -2440,7 +2723,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=a8fBNBsCZ6g90kBLOVyTdMxkPqeYMaXj3CcsLxHQ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Gnx8F3DAxbo1BxPMKDEaIwjeOWO4DSOqrNjpBWcl; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -2585,7 +2868,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=tM8jGck3i8WEBJ4ZzPsqkPtrRHjdwWJIII7QwxyE; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=39j1TJ4u77vkwpPWdJ21Af8JdFBwVE1mHHQwwKnV; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -2658,7 +2941,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=JQLQBHma98I64t9cecIxazcdG6DPdujDMkO11Xt0; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=YPCXSxw1BCbGdh5TSF65HX2Cum5gdCSSHn0drIo5; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -2764,7 +3047,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=k6BXuD9WRk8WNPWcvfIKRHQKsmzjnhPPfukWphRU; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=rIdjimWLcOlAK7wmJmYroxWHNNVscnRRm0lbYcpf; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -2917,7 +3200,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=cBJMElHNIOAyns5sTaQs1opPLly1pw5jQdPxYFTG; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=l69hDtPUivTY3RkjLz37pbj2GKnC3BLNAOunKiEY; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -3059,7 +3342,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=7kQLg1kCKp2DfUWV5mcP2utNrb5TwvWZ3zqGDTtW; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=B9zjvAcjCF6c2d57F3g71TaOvN54OFQRaK7gd2OC; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -3165,7 +3448,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=5v9ZEo0rEJmMnaEKE1GPxtDyQf3zm8k0JnwrJ2Mr; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=g1FUyaIOABzelOVQTQ3FLYuQ9B1VVxwzjW0w2wTm; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -3310,7 +3593,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=GB19xzV614mIPJYtBLHApC3bBgXqGWsWivI7zZJa; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=ZmtPy0SxU3PM1BVAf3KTTVAmGBTSDy0jt43OqiqE; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -3391,7 +3674,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=YxRN1WGYzVhO1TIWTVq8bzrulbH7yotfLBGIsS80; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=pndgboXKoez4z1LtbisqkbVctfXxddINm8ik5aiy; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -3570,7 +3853,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=TB6zCcPHXL51nzidsogy0zvGndilq7Mm6KrY2UXJ; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=QDIxyIp54OjpdRDaNqLN9XhiRzqNjrFZCXkhHwid; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -3676,7 +3959,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=E5h64TTOIO4p5SWsPcRDUTke4NwczjffRUUjivOg; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Ah3XSaDo34D1PxIpQ8pDuauDLYl0RzOxRcI79MjZ; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -3920,7 +4203,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=99zGltIEXJoPssIuY5kdHPhF5WF5aNkP5tfz2L33; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=XGoDMr0ai3wApt6nD6yqGfrMn5rqrw5p8RDcPNFK; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -4026,7 +4309,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=9OK5wTM6hJF8UC7pVlzDFdbw1hlxnaTRgbMVPdbr; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=b9D8k1gvQZIlMPBBI3MZfLYQCERes850mIsxGXMo; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -4241,7 +4524,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=oNXbSKBODGKzLyK9z0f9CffLsod39tPJdleakVm1; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=wfdqPJ45wyKEmwY0aZqQ066UDLFOh6b0DaCn8vj2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -4347,7 +4630,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=exd0ejuLQeSH2na1V3uj0dImHDa3Pfq7vnM04CdD; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=6j8uTg18mlNpS0i134Y5HZfn046xO1Xrkb1dVKBM; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -4494,7 +4777,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=q39mzTRuKTXhiFNT9X71Saja38lJQAENLyU0KAIL; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=HX1E99230RsSiSAYyYt8ymjo93rW1Po4Y2iaHBbY; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -4622,7 +4905,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=psliGrHoU0KWxlZ0WtN7bz5I0G6iOpUdq8dmhAM9; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=H1fi0QDG96zZ4zAFyyfP6RXjquDCstRQiT25jXQ7; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -4728,7 +5011,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=8RjAJLgSPWQqA2O7ew4upuiEyMwFy9gpyczV3LCp; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=XksLdkSCcvKWuJHct75vHD6lb5PcsiRS9PR1K9SR; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -4873,7 +5156,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=rYOmiCCFOGpmfN0yPDBdmqW7E9d8hswPlUujyo4P; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=kjoK9tIvADO49x8wh7YBfUbHLwfFmZiogfxlIx8e; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -4979,7 +5262,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=wJKmqPQkUusAB4HQq2NbZHKAzkslnIQx7HcXkw0k; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=PcuDIeeJRqicdRSHDLcDpUjTfLN1Xz8JRFkdnbYB; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -5138,7 +5421,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=flFdpkx3IBOTXfODZeLo8E0fS9tvAmd2crd78UWY; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=1XRIXqHTHmoidi0ffEqwHcaQnYNbA6UYCHsK0yeE; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -5231,7 +5514,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=INilwKsuWgb4tyIZaqdgAry89pal3Lo9ouL3x16z; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=yW8kji4VdrZVOH8CBP4COEYKKVG923atDdaJ0dNn; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -5427,7 +5710,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=rcq5qxowxiylcX2tcmPIO6MXYFDjnBCy1sYELCRr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=BS1Bq4UFPDXwLQZRs3pSJixFMMpgJxfBOmr4DWl5; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -5572,7 +5855,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=sIO514ykUFGr9tWC2k0GUGQn0ecm51seHwiaxYAu; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Vx7BzraR3SCrM5l8wEl64mF54nlfR6tGzf4fcv2W; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -5645,7 +5928,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=sqJOx3iLo1kJxTd8mmQ2btLXJxPePoM2XzJz0YxG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=p1OaN8jLuQSkhULdDAEPeglceyX2BrdC9De6tkpP; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -5724,7 +6007,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=WPLnc4UXk0pZFNqpQgshxtUG9L1OvbZX2BIBPV2G; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=GsLdJ1PUvsI9174uM06Rcv7e2T0LLe9v4lcwIbTA; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -5846,7 +6129,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=fTHS0kpnxeIXRqzK5xzNc03B62DpKmQ2BiqWnBgc; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=IO91xw66IfWrGGBCgBI6lwj3IuLkd7OOqQ9NdJke; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -5952,7 +6235,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=IAwA0qXWtxL9lb0ifXGpFqJj8eNcNUDDALgJlAZL; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=oHg7lJM8DAT5ZUQLjJ7KNW23lT8W6oOd0rzEwSbt; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -6103,7 +6386,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=AeCtsuabi8bZKwRzQdr8p7XJiL1Jac94HywjTk3e; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=QjJEb98EV0RwDHTQcOylyUvaRVYrNHNQ5saV5WED; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -6190,7 +6473,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=929jjEqg98XCM3WkRgG28cYD2K5BgE7sEI6R6cZ6; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=JZePiyxly78weK50lzr6qf09bL1XOr8TGIDmv0Py; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -6310,7 +6593,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=kxkAn6ktvDEdpCvR2riFQus14bXiRAXJ8XCncjws; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=jWuLhK0gZXMcSoJ3gjMe31Ys9BApDOCFRlynDRE2; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -6391,7 +6674,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=Nf1tNFD7n2qoaiLc23yMxOkHBaFZAOiAnSm6tcTb; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=YKRhZlOs0DbXICR0t3y0HWzTIN2aCeh17uYYavce; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -6472,7 +6755,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=62yt5S3mxzYYSMUmyhYhIwtyMGJsD3eDd6OSGQwA; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=BuTYvjG5ingO4kODcJSrcuK3ZgD1kCxCCl5pjHVV; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -6553,7 +6836,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=T8p4JqeUHZZN2prYTOhKgBcrEe0doawfuquJ3bEa; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=5yywKXasxT2awvUdynRcjG934YHYPP15sSbVJEJK; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -6705,7 +6988,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=SqYzY3n9eFlPontR5x5bUmCq63qtjt87IMGcn6b9; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=KA53NGw7xt6u5b4C2hs1ZUEFgRey28iNpGgkIz3w; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -6811,7 +7094,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=Xu6H2IlOJprQvX5dpFgKolsA7LUHJtPQJ21uiyMr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=bdbj1NyL6Jdb2tEcgjS9Rfrjdj5Ssp0AhxvM4nu0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -7017,7 +7300,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=a6zHAj7joxmpz5X9eBbbTU8ejfcPJPyO0bHiw6ys; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=MykmAIDiNGruoLSzqvzqlMIoUTnOUqr2pVVfgFw1; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -7123,7 +7406,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=CEzYacpuuQZ4tw7X9yROCQVJhKxckdutV9Izk7mv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=fCDCxFbwzZZwPH8hOpwKcjLz4YCR2gZ2DKGQJT4u; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -7268,7 +7551,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=G8n3vdsgPCj9VKm7UDvioWQJWWO6VClAeZU7VWbZ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=EOCHbNiLhd1V8GlNACOOheSDg2Fh5fpo36OaUYk0; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -7441,7 +7724,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=1MZWSqnleW9A9xxg84gio9OKpDCDIUJZK1qdqBer; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Ng8RBSTTVGgrXNkQxr5nn17aNqRG2cxClMZdMgp9; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=719999; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -7547,7 +7830,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=Ox4B9rI7uuddpp7UlnUEbmqbLLd3mLszZoXEWxyG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=kp6Uan6rAZCd8rCSERRfxYV3xjh4ZzzIX8jsI50z; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -7628,225 +7911,6 @@
             "name": "Misc",
             "description": "",
             "item": [
-                {
-                    "name": "GET api\/v1",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1"
-                        },
-                        "method": "GET",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": ""
-                    },
-                    "response": [
-                        {
-                            "header": [
-                                {
-                                    "key": "cache-control",
-                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
-                                },
-                                {
-                                    "key": "content-type",
-                                    "value": "application\/json"
-                                },
-                                {
-                                    "key": "vary",
-                                    "value": "Origin"
-                                },
-                                {
-                                    "key": "pragma",
-                                    "value": "no-cache"
-                                },
-                                {
-                                    "key": "expires",
-                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
-                                },
-                                {
-                                    "key": "x-content-type-options",
-                                    "value": "nosniff"
-                                },
-                                {
-                                    "key": "feature-policy",
-                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
-                                },
-                                {
-                                    "key": "referrer-policy",
-                                    "value": "same-origin"
-                                },
-                                {
-                                    "key": "content-security-policy",
-                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
-                                },
-                                {
-                                    "key": "set-cookie",
-                                    "value": "snipe-dev_local=jgR3H8NxpOZswCMLNyP7Jr4JSKaAduEOFuKfWsPc; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
-                                }
-                            ],
-                            "code": 401,
-                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
-                            "name": ""
-                        }
-                    ]
-                },
-                {
-                    "name": "Display a listing of requested assets.",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/account\/requests",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/account\/requests"
-                        },
-                        "method": "GET",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": ""
-                    },
-                    "response": [
-                        {
-                            "header": [
-                                {
-                                    "key": "cache-control",
-                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
-                                },
-                                {
-                                    "key": "content-type",
-                                    "value": "application\/json"
-                                },
-                                {
-                                    "key": "vary",
-                                    "value": "Origin"
-                                },
-                                {
-                                    "key": "pragma",
-                                    "value": "no-cache"
-                                },
-                                {
-                                    "key": "expires",
-                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
-                                },
-                                {
-                                    "key": "x-content-type-options",
-                                    "value": "nosniff"
-                                },
-                                {
-                                    "key": "feature-policy",
-                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
-                                },
-                                {
-                                    "key": "referrer-policy",
-                                    "value": "same-origin"
-                                },
-                                {
-                                    "key": "content-security-policy",
-                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
-                                },
-                                {
-                                    "key": "set-cookie",
-                                    "value": "snipe-dev_local=sAVv5eThRkdkR5M8lrJ4D89mdhNARZZjpgTNYwbF; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
-                                }
-                            ],
-                            "code": 401,
-                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
-                            "name": ""
-                        }
-                    ]
-                },
-                {
-                    "name": "Display the EULAs accepted by the user.",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/account\/eulas",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/account\/eulas"
-                        },
-                        "method": "GET",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": "@param \\App\\Http\\Transformers\\ActionlogsTransformer $transformer"
-                    },
-                    "response": [
-                        {
-                            "header": [
-                                {
-                                    "key": "cache-control",
-                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
-                                },
-                                {
-                                    "key": "content-type",
-                                    "value": "application\/json"
-                                },
-                                {
-                                    "key": "vary",
-                                    "value": "Origin"
-                                },
-                                {
-                                    "key": "pragma",
-                                    "value": "no-cache"
-                                },
-                                {
-                                    "key": "expires",
-                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
-                                },
-                                {
-                                    "key": "x-content-type-options",
-                                    "value": "nosniff"
-                                },
-                                {
-                                    "key": "feature-policy",
-                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
-                                },
-                                {
-                                    "key": "referrer-policy",
-                                    "value": "same-origin"
-                                },
-                                {
-                                    "key": "content-security-policy",
-                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
-                                },
-                                {
-                                    "key": "set-cookie",
-                                    "value": "snipe-dev_local=sGpQnsbOAvzzSif7RWGBnpRT3crgiMnNqGrkpJZ2; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
-                                }
-                            ],
-                            "code": 401,
-                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
-                            "name": ""
-                        }
-                    ]
-                },
                 {
                     "name": "POST api\/v1\/account\/request\/{asset_id}",
                     "request": {
@@ -7913,137 +7977,6 @@
                     },
                     "response": []
                 },
-                {
-                    "name": "Delete an API token",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/account\/personal-access-tokens",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/account\/personal-access-tokens"
-                        },
-                        "method": "POST",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": ""
-                    },
-                    "response": []
-                },
-                {
-                    "name": "Show user's API tokens",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/account\/personal-access-tokens",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/account\/personal-access-tokens"
-                        },
-                        "method": "GET",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": ""
-                    },
-                    "response": [
-                        {
-                            "header": [
-                                {
-                                    "key": "cache-control",
-                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
-                                },
-                                {
-                                    "key": "content-type",
-                                    "value": "application\/json"
-                                },
-                                {
-                                    "key": "vary",
-                                    "value": "Origin"
-                                },
-                                {
-                                    "key": "pragma",
-                                    "value": "no-cache"
-                                },
-                                {
-                                    "key": "expires",
-                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
-                                },
-                                {
-                                    "key": "x-content-type-options",
-                                    "value": "nosniff"
-                                },
-                                {
-                                    "key": "feature-policy",
-                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
-                                },
-                                {
-                                    "key": "referrer-policy",
-                                    "value": "same-origin"
-                                },
-                                {
-                                    "key": "content-security-policy",
-                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
-                                },
-                                {
-                                    "key": "set-cookie",
-                                    "value": "snipe-dev_local=LNRDQR1CZpACyPTiuFMrE94N62SnROd72GbwESk2; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
-                                }
-                            ],
-                            "code": 401,
-                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
-                            "name": ""
-                        }
-                    ]
-                },
-                {
-                    "name": "Delete an API token",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/account\/personal-access-tokens\/:tokenId",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/account\/personal-access-tokens\/:tokenId",
-                            "variable": [
-                                {
-                                    "id": "tokenId",
-                                    "key": "tokenId",
-                                    "value": "architecto",
-                                    "description": ""
-                                }
-                            ]
-                        },
-                        "method": "DELETE",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": ""
-                    },
-                    "response": []
-                },
                 {
                     "name": "Checkin Accessory",
                     "request": {
@@ -8141,7 +8074,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=yQqAcTcuPtWDcFbT5Wn7cr1VnYRw5K0GEnRqf6aX; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=sHPMC2SqAZ5cAOx1UvXW3elAy3P3oiipptk2p0FZ; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -8222,7 +8155,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=G3alAwTqzzpBmnRgDDO2pPjTXFmzZ6usPyrFjhJ1; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=KyijYcHB8a6W2I03kqLUp8Ca0jSq1NkkGSEAafJW; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -8303,7 +8236,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=AJaxkunAlxEsroyGEAyGe505rTbVShhvJ3zae1zv; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=DhLS17un2bga4hm36kDHWijjLccRe4D7qGWeertj; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -8384,7 +8317,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=h32nE0HKwzQc7ss03y6gTtADpj5SPTwZahWnca9n; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=jwgg1JDhWc8bhd88IkSMh8NrfSTdnbKXDnIvbazB; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -8393,104 +8326,6 @@
                         }
                     ]
                 },
-                {
-                    "name": "GET api\/v1\/settings\/ldaptest",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/settings\/ldaptest",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/settings\/ldaptest"
-                        },
-                        "method": "GET",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": ""
-                    },
-                    "response": [
-                        {
-                            "header": [
-                                {
-                                    "key": "cache-control",
-                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
-                                },
-                                {
-                                    "key": "content-type",
-                                    "value": "application\/json"
-                                },
-                                {
-                                    "key": "vary",
-                                    "value": "Origin"
-                                },
-                                {
-                                    "key": "pragma",
-                                    "value": "no-cache"
-                                },
-                                {
-                                    "key": "expires",
-                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
-                                },
-                                {
-                                    "key": "x-content-type-options",
-                                    "value": "nosniff"
-                                },
-                                {
-                                    "key": "feature-policy",
-                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
-                                },
-                                {
-                                    "key": "referrer-policy",
-                                    "value": "same-origin"
-                                },
-                                {
-                                    "key": "content-security-policy",
-                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
-                                },
-                                {
-                                    "key": "set-cookie",
-                                    "value": "snipe-dev_local=xMzuu6FkX6EJwgJRpWHfXA47kwCUxYfjMYuo7fKH; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
-                                }
-                            ],
-                            "code": 401,
-                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
-                            "name": ""
-                        }
-                    ]
-                },
-                {
-                    "name": "Delete server-cached barcodes",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/settings\/purge_barcodes",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/settings\/purge_barcodes"
-                        },
-                        "method": "POST",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": ""
-                    },
-                    "response": []
-                },
                 {
                     "name": "Get a list of login attempts",
                     "request": {
@@ -8555,7 +8390,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=yFgejJJjq2EpZkpb6c9p5KdS6FvafeMmSits5OhR; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=PixSpuAiQcKGKevpNoGvcac0DIIlsvBhhwm35Sov; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -8564,59 +8399,6 @@
                         }
                     ]
                 },
-                {
-                    "name": "POST api\/v1\/settings\/ldaptestlogin",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/settings\/ldaptestlogin",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/settings\/ldaptestlogin"
-                        },
-                        "method": "POST",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": {
-                            "mode": "raw",
-                            "raw": "{\"ldaptest_user\":\"architecto\",\"ldaptest_password\":\"architecto\"}"
-                        },
-                        "description": ""
-                    },
-                    "response": []
-                },
-                {
-                    "name": "Test the email configuration",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/settings\/mailtest",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/settings\/mailtest"
-                        },
-                        "method": "POST",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": ""
-                    },
-                    "response": []
-                },
                 {
                     "name": "Lists backup files",
                     "request": {
@@ -8681,7 +8463,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=qjjT0ujUAX45xiacm1WWNGAXHCzg829WwY9QUpTt; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=ZdyXnJL3ZjvVbGA20TL3YJvFVtvXfMSfnMxdR0u3; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -8754,7 +8536,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=G5VGebkI7Efpep55pj0YsY4IxIloqwUuNWxU8K4D; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=12H7czcfvhzN41bMPpVZ6uJSv3ldPqeXqxYn3Hfx; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -8835,88 +8617,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=4OEK9LMHgIKcB4ECJAWKwyizzizwLDT4F2goIdDA; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
-                                }
-                            ],
-                            "code": 401,
-                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
-                            "name": ""
-                        }
-                    ]
-                },
-                {
-                    "name": "Display the EULAs accepted by the user.",
-                    "request": {
-                        "url": {
-                            "host": "{{baseUrl}}",
-                            "path": "api\/v1\/users\/:user_id\/eulas",
-                            "query": [],
-                            "raw": "{{baseUrl}}\/api\/v1\/users\/:user_id\/eulas",
-                            "variable": [
-                                {
-                                    "id": "user_id",
-                                    "key": "user_id",
-                                    "value": "2",
-                                    "description": "The ID of the user."
-                                }
-                            ]
-                        },
-                        "method": "GET",
-                        "header": [
-                            {
-                                "key": "Content-Type",
-                                "value": "application\/json"
-                            },
-                            {
-                                "key": "Accept",
-                                "value": "application\/json"
-                            }
-                        ],
-                        "body": null,
-                        "description": "@param \\App\\Models\\User $user"
-                    },
-                    "response": [
-                        {
-                            "header": [
-                                {
-                                    "key": "cache-control",
-                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
-                                },
-                                {
-                                    "key": "content-type",
-                                    "value": "application\/json"
-                                },
-                                {
-                                    "key": "vary",
-                                    "value": "Origin"
-                                },
-                                {
-                                    "key": "pragma",
-                                    "value": "no-cache"
-                                },
-                                {
-                                    "key": "expires",
-                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
-                                },
-                                {
-                                    "key": "x-content-type-options",
-                                    "value": "nosniff"
-                                },
-                                {
-                                    "key": "feature-policy",
-                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
-                                },
-                                {
-                                    "key": "referrer-policy",
-                                    "value": "same-origin"
-                                },
-                                {
-                                    "key": "content-security-policy",
-                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
-                                },
-                                {
-                                    "key": "set-cookie",
-                                    "value": "snipe-dev_local=Ht9zEvd6BoGAmteUr9U0M1EhukRDU8R7sB8mSOKw; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=7262fNrfUhCtn7FC7YV1iiIZzwoF2PrBqd6Axi1d; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -8989,7 +8690,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=CPJbwvdCxw0DYqUMJxxi8OmNeup4BlA5rkQirAju; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=9pbW3Lj27gqsdqjf9Onr74qGlwdQxRO7HKtgdSxR; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -9095,7 +8796,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=EU4sT1Hqg6oKZJKuvM3vDzUQrdg41Ff7DIAwsXRf; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=uskGZUp3AzQqeC2JdKpRCiJjEIuCgDp8LHywERj6; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -9242,7 +8943,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=1qhgimw5bC0fHQGSgVgJqKcaSW42IqRJ2F4polDF; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=VXG7nhRBx0n9dmOU9H9g0JoiTzOuE2oWJn9foBNu; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -9434,7 +9135,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=WdH9GMKFEFXrDlSabXmWC61WEVsbjEsXfzuZvGcB; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=KrrLKfzDmsdlm5LulANZUYoCPy9sh7nNRx3HCSmt; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -9548,7 +9249,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=WOfLcw4xJKTMbort9bqVzAXqpZ6f1qWOp8sBkfH3; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Ymdsfjt4VVVhtRDZjt1vEh8ftmFUrewMizYO5VZg; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -9740,7 +9441,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=aEC6avo9gEeVKvjyRHL2MEy5P5L3nTdocVk5flUL; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Ofw7nV48LnTp8SAN2B8W7nWuAw1jpI7GuFCRxc6B; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -9924,7 +9625,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=c7RrS9j8xGNhya4Ts8R7yKc2ymIrPo607cHUZOOR; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=zBZCXN8IrVhp0gmWImh45OcrU6cQm00sPVHDni5M; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -9997,7 +9698,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=z1U2ClGhYZv5iKYA4cWb5k2YHUchy9a9HUSWQNDX; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=6Cmpyzc2mOwZhTp7cE5pqa2YsN7c3q0lR8gZIOZ7; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -10078,7 +9779,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=oM63SLXqghs9b2nURW4ZbHp9KipkcIdGDeHIP1OF; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=t71KbEhwD7gcUBoIZY7GnisT1MghbetA8AdH2CZo; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -10157,7 +9858,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=vBXFctl7onEDovM8eSKc93QsS5L4tAqovRrD5NXz; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=hvRc22afMc91wsdTT85Ht47Q29HBb3EbvY2z3Y1O; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -10230,7 +9931,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=THFowyEVGhU3x5t9BPD4sAFlPBoRSVA3IVlcS0o2; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Cl16Du8NHw18bURF7kVm0zrgflHanUmuWj6R2LDu; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -10303,7 +10004,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=igTsi93UE725qACTUUOAQNldCyy6HiyL6IwO1uir; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=NeW9gaoRdvWuQC1aQSk6kx1A72Si2V8WFp9z1egL; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -10518,7 +10219,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=qmx3IT8bGNwfKDYs3HXdICl59fpNBPkN9gMQP0E6; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=xAEtyBUGWlC0moD22O7DJgUD3CqXGEWotGEuwSA7; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -10531,6 +10232,163 @@
                 }
             ]
         },
+        {
+            "name": "Settings",
+            "description": "",
+            "item": [
+                {
+                    "name": "Test LDAP Connection",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/settings\/ldaptest",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/settings\/ldaptest"
+                        },
+                        "method": "GET",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": ""
+                    },
+                    "response": [
+                        {
+                            "header": [
+                                {
+                                    "key": "cache-control",
+                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
+                                },
+                                {
+                                    "key": "content-type",
+                                    "value": "application\/json"
+                                },
+                                {
+                                    "key": "vary",
+                                    "value": "Origin"
+                                },
+                                {
+                                    "key": "pragma",
+                                    "value": "no-cache"
+                                },
+                                {
+                                    "key": "expires",
+                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
+                                },
+                                {
+                                    "key": "x-content-type-options",
+                                    "value": "nosniff"
+                                },
+                                {
+                                    "key": "feature-policy",
+                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
+                                },
+                                {
+                                    "key": "referrer-policy",
+                                    "value": "same-origin"
+                                },
+                                {
+                                    "key": "content-security-policy",
+                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
+                                },
+                                {
+                                    "key": "set-cookie",
+                                    "value": "snipe-dev_local=mWYpyrpeGcsbvxTh42aAgm1BUzHcKW2ZzcbI3Cxq; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                }
+                            ],
+                            "code": 401,
+                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
+                            "name": ""
+                        }
+                    ]
+                },
+                {
+                    "name": "Delete Barcode Cache",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/settings\/purge_barcodes",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/settings\/purge_barcodes"
+                        },
+                        "method": "POST",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": ""
+                    },
+                    "response": []
+                },
+                {
+                    "name": "Test LDAP Login",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/settings\/ldaptestlogin",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/settings\/ldaptestlogin"
+                        },
+                        "method": "POST",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": {
+                            "mode": "raw",
+                            "raw": "{\"ldaptest_user\":\"architecto\",\"ldaptest_password\":\"architecto\"}"
+                        },
+                        "description": ""
+                    },
+                    "response": []
+                },
+                {
+                    "name": "Test Email Configuration",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/settings\/mailtest",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/settings\/mailtest"
+                        },
+                        "method": "POST",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": ""
+                    },
+                    "response": []
+                }
+            ]
+        },
         {
             "name": "Status Labels",
             "description": "",
@@ -10603,7 +10461,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=G20C8NLrpkVqlc0NNio7g3ptJtPAXnibwwTVNQeQ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=DwH0Z0jznkmdlwerWNY0sBvt01HFqQoipoH7NPNf; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -10676,7 +10534,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=nfojjoCoFBvDIofUosz4FAHEbARc2LWdBDY9mRRx; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=IJSRhBnYtFd0syyXU680YEwF0BIMthCNLfOpcyLN; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -10749,7 +10607,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=uVOpCavS7QSLRjH0yDdyV74jegAqu5eXuqTRB3uG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=ZOIZ05Rp1YVJaN29a0oGwiyWTrTTcUqo5lc5IjPs; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -10830,7 +10688,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=Ht7V7qpACUTVu7IJzwwbJUXuxblHSrmHNUCajeqk; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=aF0alOp2ocaDp8IgwKesKh7farzPtxeAUhyc28IF; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -10911,7 +10769,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=z9QIVR09zOjzp4SfQ6PnSyHPmMBgIdL6rWPk4LtG; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=yvmceFpSYfSsG4CbvhhMs2cBhFlHEqvGVKDevoDG; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -10991,7 +10849,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=UW9ov1LkpK1Z1YliskXZEW6plEgpQW1YZuYsdica; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=IYg40ZEyQBdflyTTVSdA6PDnYUm7TgE9JH3IZfKU; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -11097,7 +10955,7 @@
                                         },
                                         {
                                             "key": "set-cookie",
-                                            "value": "snipe-dev_local=ReQua8ijyQpft7NDUog7TgQclP19t4LEGrFQNt1b; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                            "value": "snipe-dev_local=4fGnpY6Knc6SJS5TS7WkNHK5Ec5qPilO6DhNftpy; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                         }
                                     ],
                                     "code": 401,
@@ -11244,7 +11102,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=BR6PeveVGsilxq1FP5fT6WAioeCFDL1gUs6Ym9rZ; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=65C7TW1PiGjeaD2y6hvRsGYfeIbw6nlsoiJ0xwP6; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -11420,7 +11278,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=GIWthbIGeD8hOuFNzuVJJexwmXJT7t1Lu2iovTWr; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=Ygwy1qbumTs3btIGwY6tegcN8o9isTe6KzDLCsCz; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -11526,7 +11384,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=u3CtCeJlscwNdonOQgzzRAz7L5b7PUJA5QGFugkY; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=toyAMs6CPONOBpGPTaErVBrkQmGal9vH0b3ZBo3s; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -11671,7 +11529,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=fFeEpKb9M61WnUEMGDCSuV4kfzkJcCXWsnUeIGee; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=kC65uNZYirk9MpUgY1qQWRkj8R3yUD1VsJxETu8o; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -11777,7 +11635,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=fZJPTXSFdFjqLShHjCZ9g1GFuEMP6MVXn0DqT1QF; expires=Sat, 18 Oct 2025 00:19:28 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=nXikZnt2yCTS1oU2rDLd5ug3LCWqkpnmTqdOdsHi; expires=Sat, 18 Oct 2025 01:30:59 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -11922,7 +11780,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=JC6ltPDEnZt7b2BKD6p43Hf6gJpbvexFKPt1vVbv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=kw28HZIT52r8jz3Sbo6hnarUjf8SBB3clQMub2dP; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -12045,7 +11903,88 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=v6Cb1rLm3mlkNzuAF1e9YU4OfC74Iqhj4N9H03fv; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=LmY8gP1mxEcxwQkzCIEl6Jjry5STc3MsQZzeBHCB; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                }
+                            ],
+                            "code": 401,
+                            "body": "{\"error\":\"Unauthorized or unauthenticated.\"}",
+                            "name": ""
+                        }
+                    ]
+                },
+                {
+                    "name": "User EULAs",
+                    "request": {
+                        "url": {
+                            "host": "{{baseUrl}}",
+                            "path": "api\/v1\/users\/:user_id\/eulas",
+                            "query": [],
+                            "raw": "{{baseUrl}}\/api\/v1\/users\/:user_id\/eulas",
+                            "variable": [
+                                {
+                                    "id": "user_id",
+                                    "key": "user_id",
+                                    "value": "2",
+                                    "description": "The ID of the user."
+                                }
+                            ]
+                        },
+                        "method": "GET",
+                        "header": [
+                            {
+                                "key": "Content-Type",
+                                "value": "application\/json"
+                            },
+                            {
+                                "key": "Accept",
+                                "value": "application\/json"
+                            }
+                        ],
+                        "body": null,
+                        "description": "Gets the lst of accepted EULAs for a user,"
+                    },
+                    "response": [
+                        {
+                            "header": [
+                                {
+                                    "key": "cache-control",
+                                    "value": "max-age=0, must-revalidate, no-cache, no-store, private"
+                                },
+                                {
+                                    "key": "content-type",
+                                    "value": "application\/json"
+                                },
+                                {
+                                    "key": "vary",
+                                    "value": "Origin"
+                                },
+                                {
+                                    "key": "pragma",
+                                    "value": "no-cache"
+                                },
+                                {
+                                    "key": "expires",
+                                    "value": "Sun, 02 Jan 1990 00:00:00 GMT"
+                                },
+                                {
+                                    "key": "x-content-type-options",
+                                    "value": "nosniff"
+                                },
+                                {
+                                    "key": "feature-policy",
+                                    "value": "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
+                                },
+                                {
+                                    "key": "referrer-policy",
+                                    "value": "same-origin"
+                                },
+                                {
+                                    "key": "content-security-policy",
+                                    "value": "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https:\/\/snipe-it.test https:\/\/avatars.githubusercontent.com\/u\/ https:\/\/www.google.com\/images\/branding\/googlelogo\/2x\/ https:\/\/snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https:\/\/secure.gravatar.com http:\/\/gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
+                                },
+                                {
+                                    "key": "set-cookie",
+                                    "value": "snipe-dev_local=x1EHM0OT00cWXn3wkfghPYlJTB9zt8rzQF4tfUzH; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -12126,7 +12065,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=NM7fi7M9rXZA4UsxLSrlxCrnhqup454f060pIp2G; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=ljzGjKMqRjPz4VlUKPgAJwPJJH3mwnnME1G4oWLz; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -12240,7 +12179,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=KCloddtglY2T8yjhIKUdghLKpNfXla9kNHBZ43ov; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=VIlQixrYDtsKUoezxmmxC394ECo9BEQREUTKa9u1; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -12321,7 +12260,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=eUKLUGZlhjIQ7LBaXgHhnmtV2ULOtAixNSPaoUj5; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=GYgntzVmH8K85tM7eOtGuJ8isoBo8dTIYsydB8oI; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -12590,7 +12529,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=s07zlyGGJd59cbeYkhBsNL77mOqzDJopVBTzIxnO; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=QJt4tI6q4BEnSsQdQidC0TRd8hJ4EnWZ0DrL84VE; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
@@ -12696,7 +12635,7 @@
                                 },
                                 {
                                     "key": "set-cookie",
-                                    "value": "snipe-dev_local=xbTJ0W206Ov3xctFXMSvwEt61rFFMK3phcqDGQ0s; expires=Sat, 18 Oct 2025 00:19:29 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
+                                    "value": "snipe-dev_local=00onEwBFqp7htmXXtBhRhhAGNJHnlo87YcbqKB1Z; expires=Sat, 18 Oct 2025 01:31:00 GMT; Max-Age=720000; path=\/; secure; httponly; samesite=lax"
                                 }
                             ],
                             "code": 401,
diff --git a/storage/scribe/openapi.yaml b/storage/scribe/openapi.yaml
index 0b04f2c2fd..93a11857c7 100644
--- a/storage/scribe/openapi.yaml
+++ b/storage/scribe/openapi.yaml
@@ -10,6 +10,9 @@ tags:
   -
     name: Accessories
     description: ''
+  -
+    name: Account
+    description: ''
   -
     name: Assets
     description: ''
@@ -64,6 +67,9 @@ tags:
   -
     name: Notes
     description: ''
+  -
+    name: Settings
+    description: ''
   -
     name: 'Status Labels'
     description: ''
@@ -363,6 +369,95 @@ paths:
         required: true
         schema:
           type: integer
+  /api/v1/account/requests:
+    get:
+      summary: 'Display Requested Assets'
+      operationId: displayRequestedAssets
+      description: ''
+      parameters: []
+      responses:
+        401:
+          description: ''
+          content:
+            application/json:
+              schema:
+                type: object
+                example:
+                  error: 'Unauthorized or unauthenticated.'
+                properties:
+                  error:
+                    type: string
+                    example: 'Unauthorized or unauthenticated.'
+      tags:
+        - Account
+  /api/v1/account/eulas:
+    get:
+      summary: 'Display Accepted EULAs'
+      operationId: displayAcceptedEULAs
+      description: ''
+      parameters: []
+      responses:
+        401:
+          description: ''
+          content:
+            application/json:
+              schema:
+                type: object
+                example:
+                  error: 'Unauthorized or unauthenticated.'
+                properties:
+                  error:
+                    type: string
+                    example: 'Unauthorized or unauthenticated.'
+      tags:
+        - Account
+  /api/v1/account/personal-access-tokens:
+    post:
+      summary: 'Create API token'
+      operationId: createAPIToken
+      description: ''
+      parameters: []
+      responses: {  }
+      tags:
+        - Account
+    get:
+      summary: 'Show API tokens'
+      operationId: showAPITokens
+      description: ''
+      parameters: []
+      responses:
+        401:
+          description: ''
+          content:
+            application/json:
+              schema:
+                type: object
+                example:
+                  error: 'Unauthorized or unauthenticated.'
+                properties:
+                  error:
+                    type: string
+                    example: 'Unauthorized or unauthenticated.'
+      tags:
+        - Account
+  '/api/v1/account/personal-access-tokens/{tokenId}':
+    delete:
+      summary: 'Delete API token'
+      operationId: deleteAPIToken
+      description: ''
+      parameters: []
+      responses: {  }
+      tags:
+        - Account
+    parameters:
+      -
+        in: path
+        name: tokenId
+        description: ''
+        example: architecto
+        required: true
+        schema:
+          type: string
   /api/v1/account/requestable/hardware:
     get:
       summary: 'Show Requestable Assets'
@@ -393,200 +488,200 @@ paths:
         -
           in: query
           name: action
-          description: 'The action to filter by.'
-          example: 'audits, checkins'
+          description: 'The action to filter by: audits, checkins.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The action to filter by.'
-            example: 'audits, checkins'
+            description: 'The action to filter by: audits, checkins.'
+            example: null
             nullable: false
         -
           in: query
           name: upcoming_status
-          description: 'The status to filter by.'
-          example: 'due, overdue, due-or-overdue'
+          description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The status to filter by.'
-            example: 'due, overdue, due-or-overdue'
+            description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.'
+            example: null
             nullable: false
         -
           in: query
           name: status
-          description: 'The asset status to filter by.'
-          example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable'
+          description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The asset status to filter by.'
-            example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable'
+            description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.'
+            example: null
             nullable: false
         -
           in: query
           name: status_id
           description: 'The asset status ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The asset status ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: asset_tag
           description: 'The asset tag to filter by.'
-          example: ABC123
+          example: null
           required: false
           schema:
             type: string
             description: 'The asset tag to filter by.'
-            example: ABC123
+            example: null
             nullable: false
         -
           in: query
           name: serial
           description: 'The serial number to filter by.'
-          example: SN123456
+          example: null
           required: false
           schema:
             type: string
             description: 'The serial number to filter by.'
-            example: SN123456
+            example: null
             nullable: false
         -
           in: query
           name: requestable
           description: 'Filter by requestable assets.'
-          example: true
+          example: null
           required: false
           schema:
             type: boolean
             description: 'Filter by requestable assets.'
-            example: true
+            example: null
             nullable: false
         -
           in: query
           name: model_id
-          description: 'int|array The model ID or IDs to filter by.'
-          example: '1 or model_id[]=1&model_id[]=2'
+          description: 'The model ID or IDs to filter by.'
+          example: null
           required: false
           schema:
-            type: string
-            description: 'int|array The model ID or IDs to filter by.'
-            example: '1 or model_id[]=1&model_id[]=2'
+            type: integer
+            description: 'The model ID or IDs to filter by.'
+            example: null
             nullable: false
         -
           in: query
           name: category_id
           description: 'The category ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The category ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: location_id
           description: 'The location ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The location ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: rtd_location_id
           description: 'The RTD location ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The RTD location ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: supplier_id
           description: 'The supplier ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The supplier ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: asset_eol_date
           description: 'date The asset end-of-life date to filter by.'
-          example: '2023-12-31'
+          example: null
           required: false
           schema:
             type: string
             description: 'date The asset end-of-life date to filter by.'
-            example: '2023-12-31'
+            example: null
             nullable: false
         -
           in: query
           name: assigned_to
           description: 'The user ID or department ID the asset is assigned to.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The user ID or department ID the asset is assigned to.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: assigned_type
-          description: "The type of assignment, either 'user' or 'department'."
+          description: "The type of assignment, either 'user' or 'asset' or 'location'."
           example: user
           required: false
           schema:
             type: string
-            description: "The type of assignment, either 'user' or 'department'."
+            description: "The type of assignment, either 'user' or 'asset' or 'location'."
             example: user
             nullable: false
         -
           in: query
           name: company_id
           description: 'The company ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The company ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: manufacturer_id
           description: 'The manufacturer ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The manufacturer ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: depreciation_id
           description: 'The depreciation ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The depreciation ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
@@ -602,35 +697,35 @@ paths:
         -
           in: query
           name: order_number
-          description: 'The order number to filter by.'
-          example: PO12345
+          description: 'The order number to filter by. Example:'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The order number to filter by.'
-            example: PO12345
+            description: 'The order number to filter by. Example:'
+            example: null
             nullable: false
         -
           in: query
           name: search
-          description: 'A text string to search for.'
-          example: laptop
+          description: 'A text string to search for. Example:'
+          example: null
           required: false
           schema:
             type: string
-            description: 'A text string to search for.'
-            example: laptop
+            description: 'A text string to search for. Example:'
+            example: null
             nullable: false
         -
           in: query
           name: filter
           description: 'A JSON object of key/value pairs to filter by.'
-          example: '{"status_label":"RTD","location":"Headquarters"}'
+          example: null
           required: false
           schema:
             type: string
             description: 'A JSON object of key/value pairs to filter by.'
-            example: '{"status_label":"RTD","location":"Headquarters"}'
+            example: null
             nullable: false
       responses:
         401:
@@ -812,200 +907,200 @@ paths:
         -
           in: query
           name: action
-          description: 'The action to filter by.'
-          example: 'audits, checkins'
+          description: 'The action to filter by: audits, checkins.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The action to filter by.'
-            example: 'audits, checkins'
+            description: 'The action to filter by: audits, checkins.'
+            example: null
             nullable: false
         -
           in: query
           name: upcoming_status
-          description: 'The status to filter by.'
-          example: 'due, overdue, due-or-overdue'
+          description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The status to filter by.'
-            example: 'due, overdue, due-or-overdue'
+            description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.'
+            example: null
             nullable: false
         -
           in: query
           name: status
-          description: 'The asset status to filter by.'
-          example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable'
+          description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The asset status to filter by.'
-            example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable'
+            description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.'
+            example: null
             nullable: false
         -
           in: query
           name: status_id
           description: 'The asset status ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The asset status ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: asset_tag
           description: 'The asset tag to filter by.'
-          example: ABC123
+          example: null
           required: false
           schema:
             type: string
             description: 'The asset tag to filter by.'
-            example: ABC123
+            example: null
             nullable: false
         -
           in: query
           name: serial
           description: 'The serial number to filter by.'
-          example: SN123456
+          example: null
           required: false
           schema:
             type: string
             description: 'The serial number to filter by.'
-            example: SN123456
+            example: null
             nullable: false
         -
           in: query
           name: requestable
           description: 'Filter by requestable assets.'
-          example: true
+          example: null
           required: false
           schema:
             type: boolean
             description: 'Filter by requestable assets.'
-            example: true
+            example: null
             nullable: false
         -
           in: query
           name: model_id
-          description: 'int|array The model ID or IDs to filter by.'
-          example: '1 or model_id[]=1&model_id[]=2'
+          description: 'The model ID or IDs to filter by.'
+          example: null
           required: false
           schema:
-            type: string
-            description: 'int|array The model ID or IDs to filter by.'
-            example: '1 or model_id[]=1&model_id[]=2'
+            type: integer
+            description: 'The model ID or IDs to filter by.'
+            example: null
             nullable: false
         -
           in: query
           name: category_id
           description: 'The category ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The category ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: location_id
           description: 'The location ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The location ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: rtd_location_id
           description: 'The RTD location ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The RTD location ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: supplier_id
           description: 'The supplier ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The supplier ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: asset_eol_date
           description: 'date The asset end-of-life date to filter by.'
-          example: '2023-12-31'
+          example: null
           required: false
           schema:
             type: string
             description: 'date The asset end-of-life date to filter by.'
-            example: '2023-12-31'
+            example: null
             nullable: false
         -
           in: query
           name: assigned_to
           description: 'The user ID or department ID the asset is assigned to.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The user ID or department ID the asset is assigned to.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: assigned_type
-          description: "The type of assignment, either 'user' or 'department'."
+          description: "The type of assignment, either 'user' or 'asset' or 'location'."
           example: user
           required: false
           schema:
             type: string
-            description: "The type of assignment, either 'user' or 'department'."
+            description: "The type of assignment, either 'user' or 'asset' or 'location'."
             example: user
             nullable: false
         -
           in: query
           name: company_id
           description: 'The company ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The company ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: manufacturer_id
           description: 'The manufacturer ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The manufacturer ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: depreciation_id
           description: 'The depreciation ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The depreciation ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
@@ -1021,35 +1116,35 @@ paths:
         -
           in: query
           name: order_number
-          description: 'The order number to filter by.'
-          example: PO12345
+          description: 'The order number to filter by. Example:'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The order number to filter by.'
-            example: PO12345
+            description: 'The order number to filter by. Example:'
+            example: null
             nullable: false
         -
           in: query
           name: search
-          description: 'A text string to search for.'
-          example: laptop
+          description: 'A text string to search for. Example:'
+          example: null
           required: false
           schema:
             type: string
-            description: 'A text string to search for.'
-            example: laptop
+            description: 'A text string to search for. Example:'
+            example: null
             nullable: false
         -
           in: query
           name: filter
           description: 'A JSON object of key/value pairs to filter by.'
-          example: '{"status_label":"RTD","location":"Headquarters"}'
+          example: null
           required: false
           schema:
             type: string
             description: 'A JSON object of key/value pairs to filter by.'
-            example: '{"status_label":"RTD","location":"Headquarters"}'
+            example: null
             nullable: false
       responses:
         401:
@@ -1369,200 +1464,200 @@ paths:
         -
           in: query
           name: action
-          description: 'The action to filter by.'
-          example: 'audits, checkins'
+          description: 'The action to filter by: audits, checkins.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The action to filter by.'
-            example: 'audits, checkins'
+            description: 'The action to filter by: audits, checkins.'
+            example: null
             nullable: false
         -
           in: query
           name: upcoming_status
-          description: 'The status to filter by.'
-          example: 'due, overdue, due-or-overdue'
+          description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The status to filter by.'
-            example: 'due, overdue, due-or-overdue'
+            description: 'The status to filter by: `due`, `overdue`, `due-or-overdue`.'
+            example: null
             nullable: false
         -
           in: query
           name: status
-          description: 'The asset status to filter by.'
-          example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable'
+          description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The asset status to filter by.'
-            example: 'RTD, Deployed, Pending, Undeployable, Archived, Requestable'
+            description: 'The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`.'
+            example: null
             nullable: false
         -
           in: query
           name: status_id
           description: 'The asset status ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The asset status ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: asset_tag
           description: 'The asset tag to filter by.'
-          example: ABC123
+          example: null
           required: false
           schema:
             type: string
             description: 'The asset tag to filter by.'
-            example: ABC123
+            example: null
             nullable: false
         -
           in: query
           name: serial
           description: 'The serial number to filter by.'
-          example: SN123456
+          example: null
           required: false
           schema:
             type: string
             description: 'The serial number to filter by.'
-            example: SN123456
+            example: null
             nullable: false
         -
           in: query
           name: requestable
           description: 'Filter by requestable assets.'
-          example: true
+          example: null
           required: false
           schema:
             type: boolean
             description: 'Filter by requestable assets.'
-            example: true
+            example: null
             nullable: false
         -
           in: query
           name: model_id
-          description: 'int|array The model ID or IDs to filter by.'
-          example: '1 or model_id[]=1&model_id[]=2'
+          description: 'The model ID or IDs to filter by.'
+          example: null
           required: false
           schema:
-            type: string
-            description: 'int|array The model ID or IDs to filter by.'
-            example: '1 or model_id[]=1&model_id[]=2'
+            type: integer
+            description: 'The model ID or IDs to filter by.'
+            example: null
             nullable: false
         -
           in: query
           name: category_id
           description: 'The category ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The category ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: location_id
           description: 'The location ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The location ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: rtd_location_id
           description: 'The RTD location ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The RTD location ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: supplier_id
           description: 'The supplier ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The supplier ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: asset_eol_date
           description: 'date The asset end-of-life date to filter by.'
-          example: '2023-12-31'
+          example: null
           required: false
           schema:
             type: string
             description: 'date The asset end-of-life date to filter by.'
-            example: '2023-12-31'
+            example: null
             nullable: false
         -
           in: query
           name: assigned_to
           description: 'The user ID or department ID the asset is assigned to.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The user ID or department ID the asset is assigned to.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: assigned_type
-          description: "The type of assignment, either 'user' or 'department'."
+          description: "The type of assignment, either 'user' or 'asset' or 'location'."
           example: user
           required: false
           schema:
             type: string
-            description: "The type of assignment, either 'user' or 'department'."
+            description: "The type of assignment, either 'user' or 'asset' or 'location'."
             example: user
             nullable: false
         -
           in: query
           name: company_id
           description: 'The company ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The company ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: manufacturer_id
           description: 'The manufacturer ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The manufacturer ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
           name: depreciation_id
           description: 'The depreciation ID to filter by.'
-          example: 1
+          example: null
           required: false
           schema:
             type: integer
             description: 'The depreciation ID to filter by.'
-            example: 1
+            example: null
             nullable: false
         -
           in: query
@@ -1578,35 +1673,35 @@ paths:
         -
           in: query
           name: order_number
-          description: 'The order number to filter by.'
-          example: PO12345
+          description: 'The order number to filter by. Example:'
+          example: null
           required: false
           schema:
             type: string
-            description: 'The order number to filter by.'
-            example: PO12345
+            description: 'The order number to filter by. Example:'
+            example: null
             nullable: false
         -
           in: query
           name: search
-          description: 'A text string to search for.'
-          example: laptop
+          description: 'A text string to search for. Example:'
+          example: null
           required: false
           schema:
             type: string
-            description: 'A text string to search for.'
-            example: laptop
+            description: 'A text string to search for. Example:'
+            example: null
             nullable: false
         -
           in: query
           name: filter
           description: 'A JSON object of key/value pairs to filter by.'
-          example: '{"status_label":"RTD","location":"Headquarters"}'
+          example: null
           required: false
           schema:
             type: string
             description: 'A JSON object of key/value pairs to filter by.'
-            example: '{"status_label":"RTD","location":"Headquarters"}'
+            example: null
             nullable: false
       responses:
         401:
@@ -4084,69 +4179,6 @@ paths:
         required: true
         schema:
           type: string
-  /api/v1:
-    get:
-      summary: ''
-      operationId: getApiV1
-      description: ''
-      parameters: []
-      responses:
-        401:
-          description: ''
-          content:
-            application/json:
-              schema:
-                type: object
-                example:
-                  error: 'Unauthorized or unauthenticated.'
-                properties:
-                  error:
-                    type: string
-                    example: 'Unauthorized or unauthenticated.'
-      tags:
-        - Misc
-  /api/v1/account/requests:
-    get:
-      summary: 'Display a listing of requested assets.'
-      operationId: displayAListingOfRequestedAssets
-      description: ''
-      parameters: []
-      responses:
-        401:
-          description: ''
-          content:
-            application/json:
-              schema:
-                type: object
-                example:
-                  error: 'Unauthorized or unauthenticated.'
-                properties:
-                  error:
-                    type: string
-                    example: 'Unauthorized or unauthenticated.'
-      tags:
-        - Misc
-  /api/v1/account/eulas:
-    get:
-      summary: 'Display the EULAs accepted by the user.'
-      operationId: displayTheEULAsAcceptedByTheUser
-      description: '@param \App\Http\Transformers\ActionlogsTransformer $transformer'
-      parameters: []
-      responses:
-        401:
-          description: ''
-          content:
-            application/json:
-              schema:
-                type: object
-                example:
-                  error: 'Unauthorized or unauthenticated.'
-                properties:
-                  error:
-                    type: string
-                    example: 'Unauthorized or unauthenticated.'
-      tags:
-        - Misc
   '/api/v1/account/request/{asset_id}':
     post:
       summary: ''
@@ -4183,53 +4215,6 @@ paths:
         required: true
         schema:
           type: integer
-  /api/v1/account/personal-access-tokens:
-    post:
-      summary: 'Delete an API token'
-      operationId: deleteAnAPIToken
-      description: ''
-      parameters: []
-      responses: {  }
-      tags:
-        - Misc
-    get:
-      summary: "Show user's API tokens"
-      operationId: showUsersAPITokens
-      description: ''
-      parameters: []
-      responses:
-        401:
-          description: ''
-          content:
-            application/json:
-              schema:
-                type: object
-                example:
-                  error: 'Unauthorized or unauthenticated.'
-                properties:
-                  error:
-                    type: string
-                    example: 'Unauthorized or unauthenticated.'
-      tags:
-        - Misc
-  '/api/v1/account/personal-access-tokens/{tokenId}':
-    delete:
-      summary: 'Delete an API token'
-      operationId: deleteAnAPIToken
-      description: ''
-      parameters: []
-      responses: {  }
-      tags:
-        - Misc
-    parameters:
-      -
-        in: path
-        name: tokenId
-        description: ''
-        example: architecto
-        required: true
-        schema:
-          type: string
   '/api/v1/accessories/{accessory}/checkin':
     post:
       summary: 'Checkin Accessory'
@@ -4375,36 +4360,6 @@ paths:
         required: true
         schema:
           type: string
-  /api/v1/settings/ldaptest:
-    get:
-      summary: ''
-      operationId: getApiV1SettingsLdaptest
-      description: ''
-      parameters: []
-      responses:
-        401:
-          description: ''
-          content:
-            application/json:
-              schema:
-                type: object
-                example:
-                  error: 'Unauthorized or unauthenticated.'
-                properties:
-                  error:
-                    type: string
-                    example: 'Unauthorized or unauthenticated.'
-      tags:
-        - Misc
-  /api/v1/settings/purge_barcodes:
-    post:
-      summary: 'Delete server-cached barcodes'
-      operationId: deleteServerCachedBarcodes
-      description: ''
-      parameters: []
-      responses: {  }
-      tags:
-        - Misc
   /api/v1/settings/login-attempts:
     get:
       summary: 'Get a list of login attempts'
@@ -4426,44 +4381,6 @@ paths:
                     example: 'Unauthorized or unauthenticated.'
       tags:
         - Misc
-  /api/v1/settings/ldaptestlogin:
-    post:
-      summary: ''
-      operationId: postApiV1SettingsLdaptestlogin
-      description: ''
-      parameters: []
-      responses: {  }
-      tags:
-        - Misc
-      requestBody:
-        required: true
-        content:
-          application/json:
-            schema:
-              type: object
-              properties:
-                ldaptest_user:
-                  type: string
-                  description: ''
-                  example: architecto
-                  nullable: false
-                ldaptest_password:
-                  type: string
-                  description: ''
-                  example: architecto
-                  nullable: false
-              required:
-                - ldaptest_user
-                - ldaptest_password
-  /api/v1/settings/mailtest:
-    post:
-      summary: 'Test the email configuration'
-      operationId: testTheEmailConfiguration
-      description: ''
-      parameters: []
-      responses: {  }
-      tags:
-        - Misc
   /api/v1/settings/backups:
     get:
       summary: 'Lists backup files'
@@ -4536,36 +4453,6 @@ paths:
         required: true
         schema:
           type: string
-  '/api/v1/users/{user_id}/eulas':
-    get:
-      summary: 'Display the EULAs accepted by the user.'
-      operationId: displayTheEULAsAcceptedByTheUser
-      description: '@param \App\Models\User $user'
-      parameters: []
-      responses:
-        401:
-          description: ''
-          content:
-            application/json:
-              schema:
-                type: object
-                example:
-                  error: 'Unauthorized or unauthenticated.'
-                properties:
-                  error:
-                    type: string
-                    example: 'Unauthorized or unauthenticated.'
-      tags:
-        - Misc
-    parameters:
-      -
-        in: path
-        name: user_id
-        description: 'The ID of the user.'
-        example: 2
-        required: true
-        schema:
-          type: integer
   /api/v1/kits:
     get:
       summary: 'Display a listing of the resource.'
@@ -5086,6 +4973,74 @@ paths:
         required: true
         schema:
           type: integer
+  /api/v1/settings/ldaptest:
+    get:
+      summary: 'Test LDAP Connection'
+      operationId: testLDAPConnection
+      description: ''
+      parameters: []
+      responses:
+        401:
+          description: ''
+          content:
+            application/json:
+              schema:
+                type: object
+                example:
+                  error: 'Unauthorized or unauthenticated.'
+                properties:
+                  error:
+                    type: string
+                    example: 'Unauthorized or unauthenticated.'
+      tags:
+        - Settings
+  /api/v1/settings/purge_barcodes:
+    post:
+      summary: 'Delete Barcode Cache'
+      operationId: deleteBarcodeCache
+      description: ''
+      parameters: []
+      responses: {  }
+      tags:
+        - Settings
+  /api/v1/settings/ldaptestlogin:
+    post:
+      summary: 'Test LDAP Login'
+      operationId: testLDAPLogin
+      description: ''
+      parameters: []
+      responses: {  }
+      tags:
+        - Settings
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              type: object
+              properties:
+                ldaptest_user:
+                  type: string
+                  description: ''
+                  example: architecto
+                  nullable: false
+                ldaptest_password:
+                  type: string
+                  description: ''
+                  example: architecto
+                  nullable: false
+              required:
+                - ldaptest_user
+                - ldaptest_password
+  /api/v1/settings/mailtest:
+    post:
+      summary: 'Test Email Configuration'
+      operationId: testEmailConfiguration
+      description: ''
+      parameters: []
+      responses: {  }
+      tags:
+        - Settings
   /api/v1/statuslabels/selectlist:
     get:
       summary: Selectlist
@@ -5713,6 +5668,36 @@ paths:
                     example: 'Unauthorized or unauthenticated.'
       tags:
         - Users
+  '/api/v1/users/{user_id}/eulas':
+    get:
+      summary: 'User EULAs'
+      operationId: userEULAs
+      description: 'Gets the lst of accepted EULAs for a user,'
+      parameters: []
+      responses:
+        401:
+          description: ''
+          content:
+            application/json:
+              schema:
+                type: object
+                example:
+                  error: 'Unauthorized or unauthenticated.'
+                properties:
+                  error:
+                    type: string
+                    example: 'Unauthorized or unauthenticated.'
+      tags:
+        - Users
+    parameters:
+      -
+        in: path
+        name: user_id
+        description: 'The ID of the user.'
+        example: 2
+        required: true
+        schema:
+          type: integer
   '/api/v1/users/{user}/assets':
     get:
       summary: 'List Assets Assigned to User'