Skip to content

Custom Attributes

Custom attributes provide a mechanism to associate user-defined key-value pairs for various resources within the API. These are similar to standard attributes, but have user-defined names for the keys, and apply to more than just files. At this time, the key and value for a custom attribute must both be strings. Once a custom attribute is created, it can be used for files, annotations, or jobs.

Create a custom attribute

Create a new custom attribute.

Route: /v3{instance-uri}/custom-attributes
Method: POST

When creating a custom attribute, a name and description must be provided. The name of the attribute is limited to lowercase letters, numbers, and underscores.

Additionally, an optional shared boolean value may be provided, which indicates whether or not the custom attribute should be visible to other EveryPoint users who may be accessing a resource with this attribute via a shared folder.

Sample request body:

{
  "name": "my_attribute",
  "description": "The description of my attribute.",
  "shared": false
}

Upon successful creation of a custom attribute, the response will contain the details of the newly created custom attribute.

Update a custom attribute

Update the details of a custom attribute.

Route: /v3{instance-uri}{custom-attribute-uri}
Method: PATCH

A custom attribute can be updated via a PATCH request, where the body of the request contains the new name, description, or shared status.

Sample request body:

{
  "name": "object_name",
  "description": "The name of the object.",
  "shared": true
}

Upon successfully updating a custom attribute, the response will contain the updated details of the custom attribute.

Delete a custom attribute

Delete a custom attribute.

When a custom attribute is deleted, it will be removed from all resources with which it was associated.

Route: /v3{instance-uri}{custom-attribute-uri}
Method: DELETE

Sample response body:

{
  "success": true
}

Get a list of custom attributes

Retrieve a list of the custom attributes that have been created. Each custom attribute in the list is represented by its URI.

Route: /v3{instance-uri}/custom-attributes
Method: GET

Sample response body:

{
  "success": true,
  "data": {
    "custom_attributes": [
      "/custom-attributes/my_attribute",
      "/custom-attributes/another_attribute"
    ]
  }
}

Get the details of a custom attribute

Retrieve the details of a custom attribute.

Route: /v3{instance-uri}{custom-attribute-uri}
Method: GET

Sample response body:

{
  "success": true,
  "data": {
    "custom_attribute": {
      "uri": "/custom-attributes/my_attribute",
      "name": "my_attribute",
      "description": "The description of my custom attribute.",
      "shared": true
    }
  }
}

Get the values for a custom attribute

Retrieve a list of the unique set of values that have been used for a custom attribute. Note that this list is case-insensitive, such that if "TEST", "Test", and "test" were all values that were used for a custom attribute, then only one of those values will be returned in the final list.

Route: /v3{instance-uri}{custom-attribute-uri}/values
Method: GET

Sample response body:

{
  "success": true,
  "data": {
    "values": [
      "Value 1",
      "Value 2",
      "Another value"
    ]
  }
}