Saltar al contenido

Create a profile share

Módulo Gateway

POST/profile-sharesprofileShares.create

A consent snapshot of profile fields shared with one org. Live updates stop on revoke after close. Creates a profile share. Requires `Idempotency-Key`; a replay returns the original response. The organization is derived from the credential or the parent row, never from the body.

  • Requiere la capacidad me.profile.write.
  • Alcances de OAuth: me.
  • Envía el encabezado Idempotency-Key. Una repetición con la misma clave devuelve la respuesta original.
  • Estados de error: 400, 401, 409, 422, 429. Los errores son detalles de problema RFC 9457.

Cuerpo de la solicitud: ProfileShareCreate

profileShares.create: ProfileShareCreate
CampoTipoObligatorioDescripción
organization_idstring (uuid) | nullNoIdentifier of the external account sharing its company profile; null when a person shares their own.
shared_fieldsarray of objectSíEach shared field with the value at the time of sharing.
engagement_idstring (uuid) | nullNoIdentifier of the engagement the share serves; live updates flow only while it is open.
{
  "organization_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "shared_fields": [
    {
      "field_key": "headline",
      "field_value": "Head Rigger"
    }
  ],
  "engagement_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"
}

Respuesta 201: ProfileShare

profileShares.create: ProfileShare
CampoTipoObligatorioDescripción
idstring (uuid)SíIdentifier of the profile share.
created_atstring (date-time)SíWhen the row was created.
updated_atstring (date-time)SíWhen the row was last updated.
person_idstring (uuid) | nullSíIdentifier of the sharing person.
organization_idstring (uuid) | nullSíIdentifier of the external account sharing its company profile; null when a person shares their own.
shared_fieldsarray of objectSíEach shared field with the value at the time of sharing.
shared_atstring (date-time)SíWhen the snapshot was taken.
revoked_atstring (date-time) | nullSíWhen consent was revoked.
engagement_idstring (uuid) | nullSíIdentifier of the engagement the share serves; live updates flow only while it is open.
{
  "id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "created_at": "2026-10-08T14:30:00Z",
  "updated_at": "2026-10-08T14:30:00Z",
  "person_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "organization_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "shared_fields": [
    {
      "field_key": "headline",
      "field_value": "Head Rigger"
    }
  ],
  "shared_at": "2026-10-08T14:30:00Z",
  "revoked_at": "2026-10-08T14:30:00Z",
  "engagement_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"
}

Ejemplos de código

curl -X POST "$XOS_BASE_URL/profile-shares" \
  -H "Authorization: Bearer $XOS_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"organization_id":"0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f","shared_fields":[{"field_key":"headline","field_value":"Head Rigger"}],"engagement_id":"0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"}'
const { data } = await xos.profileShares.create({
    "organization_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
    "shared_fields": [
      {
        "field_key": "headline",
        "field_value": "Head Rigger"
      }
    ],
    "engagement_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"
  });
response = xos.profile_shares.create({"organization_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f", "shared_fields": [{"field_key": "headline", "field_value": "Head Rigger"}], "engagement_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"})
xos profile-shares create --data '{"organization_id":"0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f","shared_fields":[{"field_key":"headline","field_value":"Head Rigger"}],"engagement_id":"0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"}'