When creating an artifact with the API using POST /artifacts
endpoint, you usually only give values for some fields but not necessarily all fields. It leads that only for those first fields a changeset value is created, all others fields have no value and thus no changeset value. You can observe this behavior by fetching GET /artifacts/{id}
just after: only given fields are returned and all others fields are missing.
This problem doesn't appear when creating from the UI as the php form gives a value for each fields.