openapi: 3.0.0 info: title: Dotfile API — Custom properties description: Dotfile public API — Custom properties operations. Split by tag from the OpenAPI Dotfile publishes at https://docs.dotfile.com/openapi/%EF%B8%8F-api-specifications.json (discovered via https://docs.dotfile.com/.well-known/api-catalog). Content is verbatim; only the tag partition is ours. version: v1 contact: name: Dotfile Support email: support@dotfile.com url: https://docs.dotfile.com/reference/getting-help servers: - url: https://api.dotfile.com description: Production environment tags: - name: Custom properties security: - DotfileAPIKey: [] paths: /v1/custom-properties/{target_entity}: get: operationId: custom-property-get-custom-properties summary: List custom properties per entity type description: 'Returns a paginated list of custom properties for a given entity type. Options are not included in this list; use the detail endpoint to retrieve options. ' parameters: - name: target_entity required: true in: path description: Entity type to retrieve custom properties for. schema: enum: - case - company - individual type: string - name: label required: false in: query description: "Filter items by the `label.{operator}` field. \nYou can use the `eq`, `not_eq`, `like` and `ilike`\ \ operators, the `eq` operator being the default." schema: type: string - name: key required: false in: query description: "Filter items by the `key.{operator}` field. \nYou can use the `eq`, `not_eq`, `like` and `ilike` operators,\ \ the `eq` operator being the default." schema: type: string - name: include_archived required: false in: query description: "Include archived custom properties. \nDefault is false" schema: type: boolean - name: created_at required: false in: query description: "Filter items by the `created_at.{operator}` field. \nYou can use the `eq`, `not_eq`, `gt`, `gte`, `lt`\ \ and `lte` operators, the `eq` operator being the default." schema: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{1,3})?(Z|([0-9]{2}:[0-9]{2}))?)?$ example: - '2023-01-31' - '2023-01-31T13:30:00Z' - '2023-01-31T13:30:00.000Z' description: Date (`yyyy-MM-dd` eg `2023-01-31`) or date time (`yyyy-MM-ddTHH:mm:ss.S+X` eg `2023-01-31T13:30:00.000Z`) in format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - name: updated_at required: false in: query description: "Filter items by the `updated_at.{operator}` field. \nYou can use the `eq`, `not_eq`, `gt`, `gte`, `lt`\ \ and `lte` operators, the `eq` operator being the default." schema: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{1,3})?(Z|([0-9]{2}:[0-9]{2}))?)?$ example: - '2023-01-31' - '2023-01-31T13:30:00Z' - '2023-01-31T13:30:00.000Z' description: Date (`yyyy-MM-dd` eg `2023-01-31`) or date time (`yyyy-MM-ddTHH:mm:ss.S+X` eg `2023-01-31T13:30:00.000Z`) in format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - name: sort required: false in: query description: "Use this parameter to sort query results. \nIf not specified, sorted in _ascending_ order with values\ \ of field `created_at`. \nAvailable fields are `created_at`, `key` and `label`." schema: default: created_at type: string examples: created_at: summary: Sort by values of the "created_at" field in ascending order value: created_at key: summary: Sort by values of the "key" field in descending order value: key.desc label: summary: Sort by values of the "label" field in ascending order value: label multiple: summary: Sort by values of multiple fields value: created_at,key.desc - name: page required: false in: query description: "Query response is paginated. \nUse this parameter to choose which page you want to display. \nPage\ \ index starts at 1 (the default)." schema: default: 1 type: number minimum: 1 - name: limit required: false in: query description: "Query response is paginated. \nUse this parameter to choose the number of items per page. \nLimit\ \ defaults to 20, maximum value is 100." schema: type: number default: 20 minimum: 1 maximum: 100 responses: '200': description: 'List of custom properties for entity type **ℹ️ Click to see full payload**' content: application/json: schema: $ref: '#/components/schemas/CustomPropertyList' '400': description: "The request is either malformed or contain invalid parameters.\n\n - One or multiple filtering parameters\ \ might be malformed. Make sure to use a supported operator and value for each filter.\n - If specified, make\ \ sure the value of the `page` or `limit` query parameter are valid.\n - Value of the `sort` parameter is invalid.\ \ Make sure the field name is supported, the sorting order is correctly specified, and a same field is not used\ \ multiple times for sorting.\n " tags: - Custom properties /v1/custom-properties/{target_entity}/{key}: get: operationId: custom-property-get-custom-property summary: Get a custom property detail for a given entity type description: 'Returns a list of all custom properties in your dotfile workspace for a given entity type ' parameters: - name: target_entity required: true in: path description: Entity type to retrieve custom properties for. schema: enum: - case - company - individual type: string - name: key required: true in: path description: The custom property key schema: example: last_audit type: string responses: '200': description: 'Detailed custom property **ℹ️ Click to see full payload**' content: application/json: schema: oneOf: - $ref: '#/components/schemas/CustomPropertyBoolean' title: Boolean - $ref: '#/components/schemas/CustomPropertyChoicesWithOptions' title: Choices - $ref: '#/components/schemas/CustomPropertyCountries' title: Countries - $ref: '#/components/schemas/CustomPropertyDate' title: Date - $ref: '#/components/schemas/CustomPropertyEmail' title: Email - $ref: '#/components/schemas/CustomPropertyNumeric' title: Numeric - $ref: '#/components/schemas/CustomPropertyPhoneNumber' title: Phone number - $ref: '#/components/schemas/CustomPropertyText' title: Text - $ref: '#/components/schemas/CustomPropertyUrl' title: URL discriminator: propertyName: type mapping: boolean: '#/components/schemas/CustomPropertyBoolean' choices: '#/components/schemas/CustomPropertyChoicesWithOptions' countries: '#/components/schemas/CustomPropertyCountries' date: '#/components/schemas/CustomPropertyDate' email: '#/components/schemas/CustomPropertyEmail' numeric: '#/components/schemas/CustomPropertyNumeric' phone_number: '#/components/schemas/CustomPropertyPhoneNumber' text: '#/components/schemas/CustomPropertyText' url: '#/components/schemas/CustomPropertyUrl' '404': description: No custom property can be found. tags: - Custom properties components: securitySchemes: DotfileAPIKey: type: apiKey in: header name: X-DOTFILE-API-KEY description: Configure your api key in the Workspace settings