Skip to main content
POST
Create an employee-attribute-definition
This API endpoint is in beta and may be subject to changes, including breaking changes (similarly to the legacy API endpoints), without prior notice. Read more about versioning.
OAuth 2.0 scopes

Authorizations

Authorization
string
header
required

The Lucca API implements the oAuth 2 protocol with the client-credentials-flow. Refer to RFC8725.

Headers

Api-Version
enum<string>
required

Set the API version.

Available options:
2024-11-01
Allowed value: "2024-11-01"
Maximum string length: 10
Example:

"2024-11-01"

If-None-Match
string

Only execute the request if current cached version of the resource does not match the one given here.

Example:

"W/q5sd4w2x1c1gfdg"

If-Match
string

Only execute the request if current cached version of the resource matches the one given here. Useful to avoid concurrency conflicts.

Example:

"W/q5sd4w2x1c1gfdg"

Accept-Encoding
string

List of compression algorithms you support.

Query Parameters

include
enum<string>[]

Include metadata:

  • embedded: the partial or complete representations of related resources (e.g. the employee the resource belongs to).
  • links: links to related resources or actions (e.g. approving a leave-request). May be null when you do not have access to the resource (or action).
  • totalCount: only applicable on collections (i.e. lists of resources), gives the total number of items across all pages.

Read more about expanding responses.

Available options:
embedded,
links,
totalCount

Body

application/json

The employee-attribute-definition to create.

The employee-attribute-definition to create.

id
string
required

Client-generated identifier. It must start with e_ and must not be used by any other definition, sub-properties included.

Required string length: 3 - 255
Pattern: ^e_
name
string
required
Minimum string length: 1
schema
object
required

JSON schema of the attribute value, expressed by referencing base schemas. Two forms are accepted:

  • a single value: { "$ref": "/lucca-api/schemas/<type>" };
  • an object value: { "type": "object", "properties": { "<property>": { "$ref": "/lucca-api/schemas/<type>" } } }, where each property is described in propertyDescriptions.

The schema returned by GET embeds the referenced schemas: it cannot be sent back as is.

propertyDescriptions
object | null

Required whenever this definition schema is of type "object". This property is a dictionary whose keys are the name of the schema object properties.

taxonomy
taxonomy-reference · object

Reference to a taxonomy.

t9n
object
multipleValueHandling
object | null

Behavior regarding multiple extension values per single extended resource. When null, then only a single extension can exist for any extended resource. Multiple extensions may be accepted otherwise.

Example: "employee's children" would accept multiple value, when "employee's blood type" would not.

Response

Created

The created employee-attribute-definition resource.

id
string

Client-generated identifier.

Required string length: 1 - 255
Pattern: ^\w{1,255}
type
string
Allowed value: "employee-attribute-definition"
url
string<uri>
name
string
Minimum string length: 1
schema
object

JSON schema of the attribute value. Read more about employee attribute definition schemas.

The schema embeds the base schema it is built on, identified by its $id, e.g.:

Definitions based on the same base schema all embed it with the same $id, and identical $ids always denote identical schemas. If you register these schemas in a JSON Schema validator (e.g. to validate values before writing them), register each $id once: registering it again makes validators such as Ajv fail with a "schema already exists" error.

propertyDescriptions
object | null

Required whenever this definition schema is of type "object". This property is a dictionary whose keys are the name of the schema object properties.

taxonomy
null | taxonomy-reference · object

Whenever the expected schema is a taxonomy-label reference, then the taxonomy these labels must belong to must be indicated.

isArchived
boolean

When false, resource is not archived. When true, resource is archived.

You can update this property in order to set the archival status of the resource.

lastArchivedAt
string<date-time> | null

Read-only. UTC timestamp of the moment this object was last archived through its isArchived property. The UTC offset may be written Z or +00:00, with up to 7 fractional digits of a second.

Examples:

"2023-01-23T12:45:23.1234567+00:00"

"2023-01-23T12:45:23.1234Z"

t9n
object
multipleValueHandling
object | null

Behavior regarding multiple extension values per single extended resource. When null, then only a single extension can exist for any extended resource. Multiple extensions may be accepted otherwise.

Example: "employee's children" would accept multiple value, when "employee's blood type" would not.

targetType
enum<string>
Available options:
employee,
employment,
job-position
category
enum<string>
read-only

Read-only. Which API surface exposes the values of this definition, regardless of who provides them.

  • system: the value is a property of the primary resource named by targetType (e.g. employee.givenName, jobPosition.manager). It is readable on that resource and on employee-attributes alike.
  • extension: the value is only readable on employee-attributes. It is absent from every primary resource representation. This covers definitions created by your organization as well as definitions added by a Lucca application.
Available options:
system,
extension
isValueReadOnly
boolean
read-only

Read-only. Whether the values of this definition can be modified through the Lucca API.

false only promises that an existing value may be modified: creating a value or deleting an occurrence have their own conditions. This flag describes what the account exposes, not the rights of the caller: a write on a false definition may still be denied with 403.

createdAt
string<date-time>

Read-only. UTC timestamp of the moment this object was created. The UTC offset may be written Z or +00:00, with up to 7 fractional digits of a second.

Examples:

"2023-01-23T12:45:23.1234567+00:00"

"2023-01-23T12:45:23.1234Z"

lastUpdatedAt
string<date-time>

Read-only. UTC timestamp of the moment this object was last updated. Set upon creation, update or deletion of the object. The UTC offset may be written Z or +00:00, with up to 7 fractional digits of a second.

Examples:

"2023-01-23T12:45:23.1234567+00:00"

"2023-01-23T12:45:23.1234Z"

embedded
object | null

No embedded resources on a employee-attribute-definition(s) response. Expect an empty object if embedded are requested.