openapi: 3.0.0 info: title: Dotfile API — Individuals description: Dotfile public API — Individuals 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: Individuals security: - DotfileAPIKey: [] paths: /v1/individuals: get: operationId: individual-get-many summary: List all individuals description: "Returns a list of all individuals created in your Dotfile workspace.\n\n---\n\n#### See also \nLearn\ \ more about [Filtering, Sorting and Pagination](./filtering-sorting-and-pagination) \n" parameters: - name: first_name required: false in: query description: "Filter items by the `first_name.{operator}` field. \nYou can use the `eq`, `not_eq`, `like` and `ilike`\ \ operators, the `eq` operator being the default." schema: type: string - name: last_name required: false in: query description: "Filter items by the `last_name.{operator}` field. \nYou can use the `eq`, `not_eq`, `like` and `ilike`\ \ operators, the `eq` operator being the default." schema: type: string - name: birth_date required: false in: query description: "Filter items by the `birth_date.{operator}` field. \nYou can use the `eq` 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: email required: false in: query description: "Filter items by the `email.{operator}` field. \nYou can use the `eq`, `not_eq`, `like` and `ilike`\ \ operators, the `eq` operator being the default." schema: type: string - 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: last_activity_at required: false in: query description: "Filter items by the `last_activity_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`, `first_name`, `last_activity_at` and `last_name`." schema: default: created_at type: string examples: created_at: summary: Sort by values of the "created_at" field in ascending order value: created_at first_name: summary: Sort by values of the "first_name" field in descending order value: first_name.desc last_activity_at: summary: Sort by values of the "last_activity_at" field in ascending order value: last_activity_at last_name: summary: Sort by values of the "last_name" field in descending order value: last_name.desc multiple: summary: Sort by values of multiple fields value: created_at,first_name.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 individuals created in the workspace **ℹ️ Click to see full payload**' content: application/json: schema: $ref: '#/components/schemas/PaginatedIndividualList' '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: - Individuals post: operationId: individual-create-one summary: Create an individual description: 'Create an individual in a case. ' parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IndividualCreate' responses: '201': description: 'Individual has been created in the case **ℹ️ Click to see full payload**' content: application/json: schema: $ref: '#/components/schemas/Individual' '400': description: "The request is either malformed or contain invalid parameters.\n\n - Make sure the body payload matches\ \ the expected schema\n " '404': description: No case can be found. tags: - Individuals /v1/individuals/{id}: get: operationId: individual-get-one summary: Retrieve an individual description: 'Retrieves the individual with the given ID. ' parameters: - name: id required: true in: path description: Id of the individual schema: format: uuid type: string - name: exclude_internal_checks required: false in: query description: Exclude checks that are marked as internal schema: default: false type: boolean - name: data_lineage required: false in: query description: Include data lineage in the response, default `false` schema: default: false type: boolean responses: '200': description: 'Returns information of an individual **ℹ️ Click to see full payload**' content: application/json: schema: $ref: '#/components/schemas/Individual' '400': description: "The request is either malformed or contain invalid parameters.\n\n - Make sure the identifier specified\ \ in the URL is a valid UUID\n " '404': description: No individual can be found. tags: - Individuals patch: operationId: individual-update-one summary: Update an individual description: 'Updates the individual with the given ID. ' parameters: - name: id required: true in: path description: Id of the individual schema: format: uuid type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IndividualUpdate' responses: '200': description: 'Returns information of the updated individual **ℹ️ Click to see full payload**' content: application/json: schema: $ref: '#/components/schemas/Individual' '400': description: "The request is either malformed or contain invalid parameters.\n\n - Make sure the identifier specified\ \ in the URL is a valid UUID\n - Make sure the body payload matches the expected schema\n " '404': description: No individual can be found. tags: - Individuals delete: operationId: individual-delete-one summary: Delete an individual description: 'Delete the specified individual. ' parameters: - name: id required: true in: path description: Id of the individual schema: format: uuid type: string responses: '204': description: '' '400': description: "The request is either malformed or contain invalid parameters.\n\n - Make sure the identifier specified\ \ in the URL is a valid UUID\n " '404': description: No individual can be found. tags: - Individuals /v1/individuals/{id}/set-relevant: post: operationId: individual-set-relevant summary: Set individual relevance description: 'Change the relevance of the specified individual ' parameters: - name: id required: true in: path description: Id of the individual schema: format: uuid type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IndividualSetRelevant' responses: '200': description: '**ℹ️ Click to see full payload**' content: application/json: schema: $ref: '#/components/schemas/Individual' '400': description: "The request is either malformed or contain invalid parameters.\n\n - Make sure the identifier specified\ \ in the URL is a valid UUID\n " '404': description: No individual can be found. tags: - Individuals components: securitySchemes: DotfileAPIKey: type: apiKey in: header name: X-DOTFILE-API-KEY description: Configure your api key in the Workspace settings