{"components":{"schemas":{"ACLSchema":{"properties":{"groups_acl":{"items":{"$ref":"#/components/schemas/GroupACLBase"},"readOnly":true,"type":"array"},"inherited_groups_acl":{"items":{"$ref":"#/components/schemas/PropagatingGroupACL"},"readOnly":true,"type":"array"},"inherited_users_acl":{"items":{"$ref":"#/components/schemas/PropagatingACL"},"readOnly":true,"type":"array"},"propagating_groups_acl":{"items":{"$ref":"#/components/schemas/PropagatingGroupACL"},"readOnly":true,"type":"array"},"propagating_users_acl":{"items":{"$ref":"#/components/schemas/PropagatingACL"},"readOnly":true,"type":"array"},"users_acl":{"items":{"$ref":"#/components/schemas/UserACLBase"},"readOnly":true,"type":"array"}},"type":"object"},"ACLTemplateSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"id":{"format":"uuid","readOnly":true,"type":"string"},"name":{"type":"string"}},"required":["name"],"type":"object"},"ACLTemplatesSchema":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/ACLTemplateSchema"},"readOnly":true,"type":"array"}},"type":"object"},"ACLsSchema":{"properties":{"object_keys":{"description":"The number of object_keys in the list is limited to a minimum of 0 and a maximum of 500","items":{"type":"string"},"maxItems":500,"minItems":0,"type":"array"}},"type":"object"},"BulkACLSchema":{"properties":{"access_denied":{"items":{"type":"string"},"type":"array"},"access_granted":{"items":{"type":"string"},"type":"array"}},"type":"object"},"BulkACLsObjectSchema":{"properties":{"object_keys":{"items":{"type":"string"},"type":"array"},"object_type":{"type":"string"},"permissions":{"items":{"enum":["read","write","delete","change-acl"],"type":"string"},"type":"array"}},"required":["object_keys","object_type","permissions"],"type":"object"},"BulkCreateShareACLs":{"properties":{"permissions":{"items":{"type":"string"},"type":"array"},"share_ids":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["permissions","share_ids"],"type":"object"},"BulkDeleteShareACLs":{"properties":{"share_ids":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["share_ids"],"type":"object"},"CheckBulkACLsSchema":{"properties":{"objects":{"description":"The number of objects in the list is limited to a minimum of 0 and a maximum of 500","items":{"$ref":"#/components/schemas/BulkACLsObjectSchema"},"maxItems":500,"minItems":0,"type":"array"}},"required":["objects"],"type":"object"},"CombinedPermissionsSchema":{"properties":{"permissions":{"items":{"type":"string"},"readOnly":true,"type":"array"}},"type":"object"},"CopyInheritedACLSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"from_collection_ids":{"items":{"type":"string"},"type":"array"},"object_key":{"type":"string"},"object_type":{"type":"string"}},"required":["from_collection_ids","object_key","object_type"],"type":"object"},"CreateACLsResultSchema":{"properties":{"updated_object_keys":{"items":{"type":"string"},"readOnly":true,"type":"array"}},"type":"object"},"CreateACLsSchema":{"properties":{"group_ids":{"items":{"format":"uuid","readOnly":true,"type":"string"},"type":"array"},"mode":{"default":"OVERWRITE","enum":["APPEND","OVERWRITE"],"type":"string","writeOnly":true},"object_keys":{"description":"The number of object_keys in the list is limited to a minimum of 0 and a maximum of 500","items":{"type":"string"},"maxItems":500,"minItems":0,"type":"array"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"user_ids":{"items":{"format":"uuid","readOnly":true,"type":"string"},"type":"array"}},"required":["object_keys","permissions"],"type":"object"},"CreateACLsSchemaMultiple":{"properties":{"group_ids":{"items":{"format":"uuid","readOnly":true,"type":"string"},"type":"array"},"mode":{"default":"OVERWRITE","enum":["APPEND","OVERWRITE"],"type":"string","writeOnly":true},"object_keys":{"description":"The number of object_keys in the list is limited to a minimum of 1 and a maximum of 1","items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"user_ids":{"items":{"format":"uuid","readOnly":true,"type":"string"},"type":"array"}},"required":["object_keys","permissions"],"type":"object"},"CreateBulkACLsSchema":{"properties":{"group_ids":{"items":{"format":"uuid","type":"string"},"type":"array"},"include_assets":{"type":"boolean"},"include_collections":{"type":"boolean"},"mode":{"default":"OVERWRITE","enum":["APPEND","OVERWRITE"],"type":"string","writeOnly":true},"object_ids":{"description":"The number of object_ids in the list is limited to a minimum of 0 and a maximum of 500","items":{"format":"uuid","type":"string"},"maxItems":500,"minItems":0,"type":"array"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"user_ids":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["include_assets","include_collections","permissions"],"type":"object"},"CreateMultipleACLsSchema":{"properties":{"objects":{"description":"The number of objects in the list is limited to a minimum of 1 and a maximum of 100","items":{"$ref":"#/components/schemas/CreateACLsSchemaMultiple"},"maxItems":100,"minItems":1,"type":"array"}},"required":["objects"],"type":"object"},"CreateShareACLsSchema":{"properties":{"object_keys":{"description":"The number of object_keys in the list is limited to a min of 0 and a maximum of 500","items":{"type":"string"},"maxItems":500,"minItems":0,"type":"array"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"share_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["permissions"],"type":"object"},"DeleteACLsSchema":{"properties":{"group_ids":{"items":{"format":"uuid","readOnly":true,"type":"string"},"type":"array"},"object_keys":{"description":"The number of object_keys in the list is limitedto a minimum of 0 and a maximum of 500","items":{"type":"string"},"maxItems":500,"minItems":0,"type":"array"},"object_type":{"readOnly":true,"type":"string"},"user_ids":{"items":{"format":"uuid","readOnly":true,"type":"string"},"type":"array"}},"type":"object"},"DeleteBulkACLsSchema":{"properties":{"group_ids":{"items":{"format":"uuid","type":"string"},"type":"array"},"include_assets":{"type":"boolean"},"include_collections":{"type":"boolean"},"object_ids":{"description":"The number of object_ids in the list is limited to a minimum of 0 and a maximum of 500","items":{"format":"uuid","type":"string"},"maxItems":500,"minItems":0,"type":"array"},"object_type":{"readOnly":true,"type":"string"},"user_ids":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["include_assets","include_collections"],"type":"object"},"GroupACLBase":{"properties":{"group_id":{"format":"uuid","readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"}},"required":["permissions"],"type":"object"},"GroupACLBaseSchema":{"properties":{"group_id":{"format":"uuid","readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"}},"required":["permissions"],"type":"object"},"GroupACLSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"group_id":{"format":"uuid","readOnly":true,"type":"string"},"object_key":{"readOnly":true,"type":"string"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"}},"required":["permissions"],"type":"object"},"GroupIDsSchema":{"properties":{"group_ids":{"items":{"format":"uuid","readOnly":true,"type":"string"},"type":"array"}},"type":"object"},"InheritedACLSchema":{"properties":{"collection_ids":{"items":{"type":"string"},"type":"array"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"object_key":{"readOnly":true,"type":"string"},"object_type":{"readOnly":true,"type":"string"}},"required":["collection_ids"],"type":"object"},"ListObjectsSchema":{"properties":{"first_url":{"readOnly":true,"type":"string"},"last_url":{"readOnly":true,"type":"string"},"next_url":{"readOnly":true,"type":"string"},"page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"pages":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"per_page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"prev_url":{"readOnly":true,"type":"string"},"total":{"format":"int64","maximum":9223372036854775807,"minimum":-9223372036854775808,"readOnly":true,"type":"integer"}},"type":"object"},"PropagatingACL":{"properties":{"object_key":{"readOnly":true,"type":"string"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"user_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["permissions"],"type":"object"},"PropagatingACLSchema":{"properties":{"object_key":{"readOnly":true,"type":"string"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"user_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["permissions"],"type":"object"},"PropagatingGroupACL":{"properties":{"group_id":{"format":"uuid","readOnly":true,"type":"string"},"object_key":{"readOnly":true,"type":"string"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"}},"required":["permissions"],"type":"object"},"PropagatingGroupACLSchema":{"properties":{"group_id":{"format":"uuid","readOnly":true,"type":"string"},"object_key":{"readOnly":true,"type":"string"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"}},"required":["permissions"],"type":"object"},"ReindexPropagatingACLSchema":{"properties":{"sync_to_another_dc":{"type":"boolean"}},"type":"object"},"ShareACLSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"object_key":{"readOnly":true,"type":"string"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"share_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["permissions"],"type":"object"},"SharesACLSchema":{"properties":{"first_url":{"readOnly":true,"type":"string"},"last_url":{"readOnly":true,"type":"string"},"next_url":{"readOnly":true,"type":"string"},"objects":{"items":{"$ref":"#/components/schemas/ShareACLSchema"},"readOnly":true,"type":"array"},"page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"pages":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"per_page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"prev_url":{"readOnly":true,"type":"string"},"total":{"format":"int64","maximum":9223372036854775807,"minimum":-9223372036854775808,"readOnly":true,"type":"integer"}},"type":"object"},"UserACLBase":{"properties":{"permissions":{"items":{"type":"string"},"type":"array"},"user_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["permissions"],"type":"object"},"UserACLBaseSchema":{"properties":{"permissions":{"items":{"type":"string"},"type":"array"},"user_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["permissions"],"type":"object"},"UserACLSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"object_key":{"readOnly":true,"type":"string"},"object_type":{"readOnly":true,"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"user_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["permissions"],"type":"object"},"UserIDsSchema":{"properties":{"user_ids":{"items":{"format":"uuid","readOnly":true,"type":"string"},"type":"array"}},"type":"object"},"UsersCheckAclSchema":{"properties":{"group_ids":{"items":{"type":"string"},"type":"array"},"user_id":{"format":"uuid","type":"string"}},"type":"object"},"UsersSchema":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UsersCheckAclSchema"},"type":"array"}},"type":"object"}}},"info":{"title":"Iconik ACLs","version":"2.0.0"},"openapi":"3.0.3","paths":{"/":{},"/ip/":{},"/livez/":{},"/readyz/":{},"/spec/":{},"/static/{filename}":{},"/v1/acl/":{"post":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckBulkACLsSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkACLSchema"}}},"description":"Returns empty dict if object has permission"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"User doesn't have permission"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Check if objects have required permission"}},"/v1/acl/templates/":{"get":{"description":"\nRequired roles:\n - can_read_acl_templates\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLTemplatesSchema"}}},"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Retreive all acl templates"},"post":{"description":"\nRequired roles:\n - can_write_acl_templates\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLTemplateSchema"}}},"description":"body","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLTemplateSchema"}}},"description":"Successfully Created"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Create an acl template"}},"/v1/acl/templates/{template_id}/":{"delete":{"description":"\nRequired roles:\n - can_delete_acl_templates\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"template_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"204":{"description":"Successfully deleted"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL template does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Remove an acl template"},"get":{"description":"\nRequired roles:\n - can_read_acl_templates\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"template_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLTemplateSchema"}}},"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Template does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Retreive an acl template"},"patch":{"description":"\nRequired roles:\n - can_write_acl_templates\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"template_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLTemplateSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLTemplateSchema"}}},"description":"Successfully updated"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL template does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Update an acl template"},"put":{"description":"\nRequired roles:\n - can_write_acl_templates\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"template_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLTemplateSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLTemplateSchema"}}},"description":"Successfully updated"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL template does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Update an acl template"}},"/v1/acl/templates/{template_id}/{object_type}/{object_key}/":{"post":{"description":"","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"template_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"query","name":"ignore_reindexing","schema":{"type":"boolean"},"style":"form"},{"description":"Do not apply any ACLs that are not in the collection_id provided (Parent collection normally)","in":"query","name":"restrict_acls_collection_id","schema":{"type":"string"},"style":"form"}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"User does not have permission"},"404":{"description":"ACL template does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Apply template permissions to an object"}},"/v1/acl/{object_type}/":{"delete":{"description":"\nRequired roles:\n - can_delete_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsSchema"}}},"description":"body","required":true},"responses":{"200":{"description":"Returns the deleted objects"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete acls for multiple objects"},"put":{"description":"\nRequired roles:\n - can_write_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLsSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLsResultSchema"}}},"description":"Returns the updated objects"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Create a new acl for multiple objects"}},"/v1/acl/{object_type}/bulk/":{"put":{"description":"\nRequired roles:\n - can_write_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMultipleACLsSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateACLsResultSchema"},"type":"array"}}},"description":"Returns the updated objects"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Create a new acl for multiple objects with multiple permissions"}},"/v1/acl/{object_type}/content/":{"delete":{"description":"\nRequired roles:\n - can_delete_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteBulkACLsSchema"}}},"description":"body","required":true},"responses":{"200":{"description":"Returns the deleted objects"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete acls for content of multiple objects"},"put":{"description":"\nRequired roles:\n - can_write_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBulkACLsSchema"}}},"description":"body","required":true},"responses":{"202":{"description":"Returns the updated objects"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"501":{"description":"Invalid object type"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Create a new acl for content of multiple objects"}},"/v1/acl/{object_type}/{object_key}/":{"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"Don't return the deleted users/groups","in":"query","name":"exclude_deleted","schema":{"default":false,"type":"boolean"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLSchema"}}},"description":"Returns a list of permissions"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"List of object permissions"}},"/v1/acl/{object_type}/{object_key}/permissions/":{"get":{"description":"","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CombinedPermissionsSchema"}}},"description":"Returns a list of permissions"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"List of permissions for the user"}},"/v1/acl/{object_type}/{object_key}/{permission}/":{"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"permission","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"description":"Returns empty dict if object has permission"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"Returns empty dict if object doesn't have permission"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Check if particular object has required permission"}},"/v1/acl/{object_type}/{permission}/":{"post":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"permission","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLsSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkACLSchema"}}},"description":"Returns a dict with two lists `access_granted` and `access_denied` object keys"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"User doesn't have permission"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Check if objects have required permission"}},"/v1/groups/{group_id}/acl/{object_type}/{object_key}/":{"delete":{"description":"\nRequired roles:\n - can_delete_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"group_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"204":{"description":"Without body"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete a particular acl by id for an object"},"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"group_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupACLSchema"}}},"description":"Returns a list of group permissions"},"401":{"description":"Token is invalid"},"404":{"description":"Group doesn't have permissions"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"List of groups permissions for an object"},"put":{"description":"\nRequired roles:\n - can_write_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"group_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupACLSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupACLSchema"}}},"description":"Returns an updated acl"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupACLSchema"}}},"description":"Returns a created acl"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Update or create group acl for an object"}},"/v1/groups/{group_id}/acl/{object_type}/{object_key}/{permission}/":{"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"group_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"permission","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"description":"Returns an empty body"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"Group doesn't have particular permission"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Check if group has particular permission for an object"}},"/v1/shares/{object_type}/{object_key}/":{"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharesACLSchema"}}},"description":"Returns a list of permissions"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"List of share acls"}},"/v1/shares/{share_id}/acl/{object_type}/":{"put":{"description":"\nRequired roles:\n - can_write_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"share_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateShareACLsSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLsResultSchema"}}},"description":"Returns the updated objects"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Create a new acl for multiple share objects"}},"/v1/shares/{share_id}/acl/{object_type}/{object_key}/":{"delete":{"description":"\nRequired roles:\n - can_delete_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"share_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"204":{"description":"Without body"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete a share acl for an object"},"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"share_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareACLSchema"}}},"description":"Returns a list of permissions"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"List of share permissions for an object"},"post":{"description":"\nRequired roles:\n - can_write_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"share_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareACLSchema"}}},"description":"body","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareACLSchema"}}},"description":"Returns a created acl"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Create a new share acl for an object"},"put":{"description":"\nRequired roles:\n - can_write_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"share_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareACLSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareACLSchema"}}},"description":"Returns an updated acl"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Update share acl for an object"}},"/v1/shares/{share_id}/acl/{object_type}/{object_key}/{permission}/":{"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"share_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"permission","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"description":"Returns an empty body"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"User does not have permission"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Returns a share acl for an object"}},"/v1/users/{user_id}/acl/{object_type}/{object_key}/":{"delete":{"description":"\nRequired roles:\n - can_delete_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"user_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"204":{"description":"Without body"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete a user acl for an object"},"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"user_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserACLSchema"}}},"description":"Returns a list of permissions"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"List of user permissions for an object"},"put":{"description":"\nRequired roles:\n - can_write_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"user_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserACLSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserACLSchema"}}},"description":"Returns an updated acl"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserACLSchema"}}},"description":"Returns a created acl"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"ACL does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Update or create user acl for an object"}},"/v1/users/{user_id}/acl/{object_type}/{object_key}/{permission}/":{"get":{"description":"\nRequired roles:\n - can_read_acls\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"user_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_type","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"object_key","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"permission","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserACLSchema"}}},"description":"Returns a acl"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"User does not have permission"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Returns a user acl for an object"}}},"servers":[{"url":"/API/acls/"}]}
