@faable/auth-sdk 2.7.107 → 2.7.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -114,3 +114,28 @@ export type UserUserCreate = components["schemas"]["UserUserCreate"];
114
114
  export type UserUserMetadata = components["schemas"]["UserUserMetadata"];
115
115
  export type UserUserMetadataUpdate = components["schemas"]["UserUserMetadataUpdate"];
116
116
  export type UsernamepasswordLoginBody = components["schemas"]["UsernamepasswordLoginBody"];
117
+ export type WebhookCredentialsExportedPayload = components["schemas"]["WebhookCredentialsExportedPayload"];
118
+ export type WebhookEvent = components["schemas"]["WebhookEvent"];
119
+ export type WebhookEventAuthLogin = components["schemas"]["WebhookEventAuthLogin"];
120
+ export type WebhookEventCredentialsExported = components["schemas"]["WebhookEventCredentialsExported"];
121
+ export type WebhookEventOrganizationCreated = components["schemas"]["WebhookEventOrganizationCreated"];
122
+ export type WebhookEventOrganizationDeleted = components["schemas"]["WebhookEventOrganizationDeleted"];
123
+ export type WebhookEventOrganizationUpdated = components["schemas"]["WebhookEventOrganizationUpdated"];
124
+ export type WebhookEventPing = components["schemas"]["WebhookEventPing"];
125
+ export type WebhookEventTeamCreated = components["schemas"]["WebhookEventTeamCreated"];
126
+ export type WebhookEventTeamDeleted = components["schemas"]["WebhookEventTeamDeleted"];
127
+ export type WebhookEventTeamInviteAccepted = components["schemas"]["WebhookEventTeamInviteAccepted"];
128
+ export type WebhookEventTeamInviteCreated = components["schemas"]["WebhookEventTeamInviteCreated"];
129
+ export type WebhookEventTeamInviteRevoked = components["schemas"]["WebhookEventTeamInviteRevoked"];
130
+ export type WebhookEventTeamMemberAdded = components["schemas"]["WebhookEventTeamMemberAdded"];
131
+ export type WebhookEventTeamMemberRemoved = components["schemas"]["WebhookEventTeamMemberRemoved"];
132
+ export type WebhookEventTeamMemberUpdated = components["schemas"]["WebhookEventTeamMemberUpdated"];
133
+ export type WebhookEventTeamUpdated = components["schemas"]["WebhookEventTeamUpdated"];
134
+ export type WebhookEventType = components["schemas"]["WebhookEventType"];
135
+ export type WebhookEventUserCreated = components["schemas"]["WebhookEventUserCreated"];
136
+ export type WebhookEventUserDeleted = components["schemas"]["WebhookEventUserDeleted"];
137
+ export type WebhookEventUserUpdated = components["schemas"]["WebhookEventUserUpdated"];
138
+ export type WebhookOrganizationPayload = components["schemas"]["WebhookOrganizationPayload"];
139
+ export type WebhookTeamInvitePayload = components["schemas"]["WebhookTeamInvitePayload"];
140
+ export type WebhookTeamMemberPayload = components["schemas"]["WebhookTeamMemberPayload"];
141
+ export type WebhookTeamPayload = components["schemas"]["WebhookTeamPayload"];
@@ -7648,6 +7648,224 @@ export interface components {
7648
7648
  NotificationSubscriptionWebhookMetadataUpdate: {
7649
7649
  [key: string]: unknown;
7650
7650
  };
7651
+ /** @description A notice: read the team with `GET /team/:team_id`. */
7652
+ WebhookTeamPayload: {
7653
+ team_id: string;
7654
+ };
7655
+ WebhookTeamMemberPayload: {
7656
+ team_id: string;
7657
+ user_id: string;
7658
+ roles?: string[];
7659
+ /** @description `team.member.added`: how they got in (`direct`, `invite_auto`, `invite_accepted`, `domain`). */
7660
+ method?: string;
7661
+ /** @description `team.member.updated`: the roles before the change. */
7662
+ previous_roles?: string[];
7663
+ };
7664
+ WebhookTeamInvitePayload: {
7665
+ team_id: string;
7666
+ invite_id?: string;
7667
+ email?: string;
7668
+ user_id?: string;
7669
+ inviter_user_id?: string;
7670
+ roles?: string[];
7671
+ /** @description `team.invite.revoked`: `revoked` by someone, `replaced` by a re-invite, or `declined` by the invitee. */
7672
+ reason?: string;
7673
+ };
7674
+ /** @description A notice: read the organization with `GET /organization/:organization_id`. */
7675
+ WebhookOrganizationPayload: {
7676
+ organization_id: string;
7677
+ };
7678
+ WebhookCredentialsExportedPayload: {
7679
+ account: string;
7680
+ actor_user_id?: string;
7681
+ actor_client_id?: string;
7682
+ connection: string | null;
7683
+ /** Format: date-time */
7684
+ exported_at: string;
7685
+ };
7686
+ /** @description A user was created (signup, import or Management API). */
7687
+ WebhookEventUserCreated: {
7688
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7689
+ id: string;
7690
+ /** @enum {string} */
7691
+ type: "user.created";
7692
+ /** @description When the event happened, in Unix milliseconds. */
7693
+ produced_at: number;
7694
+ payload: components["schemas"]["User"];
7695
+ };
7696
+ /** @description A user was updated. */
7697
+ WebhookEventUserUpdated: {
7698
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7699
+ id: string;
7700
+ /** @enum {string} */
7701
+ type: "user.updated";
7702
+ /** @description When the event happened, in Unix milliseconds. */
7703
+ produced_at: number;
7704
+ payload: components["schemas"]["User"];
7705
+ };
7706
+ /** @description A user was deleted. */
7707
+ WebhookEventUserDeleted: {
7708
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7709
+ id: string;
7710
+ /** @enum {string} */
7711
+ type: "user.deleted";
7712
+ /** @description When the event happened, in Unix milliseconds. */
7713
+ produced_at: number;
7714
+ payload: components["schemas"]["User"];
7715
+ };
7716
+ /** @description A user logged in. */
7717
+ WebhookEventAuthLogin: {
7718
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7719
+ id: string;
7720
+ /** @enum {string} */
7721
+ type: "auth.login";
7722
+ /** @description When the event happened, in Unix milliseconds. */
7723
+ produced_at: number;
7724
+ payload: components["schemas"]["User"];
7725
+ };
7726
+ /** @description Someone exported the tenant's password hashes (`GET /user/export` with hashes). */
7727
+ WebhookEventCredentialsExported: {
7728
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7729
+ id: string;
7730
+ /** @enum {string} */
7731
+ type: "credentials.exported";
7732
+ /** @description When the event happened, in Unix milliseconds. */
7733
+ produced_at: number;
7734
+ payload: components["schemas"]["WebhookCredentialsExportedPayload"];
7735
+ };
7736
+ /** @description A team was created. */
7737
+ WebhookEventTeamCreated: {
7738
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7739
+ id: string;
7740
+ /** @enum {string} */
7741
+ type: "team.created";
7742
+ /** @description When the event happened, in Unix milliseconds. */
7743
+ produced_at: number;
7744
+ payload: components["schemas"]["WebhookTeamPayload"];
7745
+ };
7746
+ /** @description A team was updated. */
7747
+ WebhookEventTeamUpdated: {
7748
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7749
+ id: string;
7750
+ /** @enum {string} */
7751
+ type: "team.updated";
7752
+ /** @description When the event happened, in Unix milliseconds. */
7753
+ produced_at: number;
7754
+ payload: components["schemas"]["WebhookTeamPayload"];
7755
+ };
7756
+ /** @description A team was deleted. */
7757
+ WebhookEventTeamDeleted: {
7758
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7759
+ id: string;
7760
+ /** @enum {string} */
7761
+ type: "team.deleted";
7762
+ /** @description When the event happened, in Unix milliseconds. */
7763
+ produced_at: number;
7764
+ payload: components["schemas"]["WebhookTeamPayload"];
7765
+ };
7766
+ /** @description A user was added to a team. */
7767
+ WebhookEventTeamMemberAdded: {
7768
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7769
+ id: string;
7770
+ /** @enum {string} */
7771
+ type: "team.member.added";
7772
+ /** @description When the event happened, in Unix milliseconds. */
7773
+ produced_at: number;
7774
+ payload: components["schemas"]["WebhookTeamMemberPayload"];
7775
+ };
7776
+ /** @description A team member's roles changed. */
7777
+ WebhookEventTeamMemberUpdated: {
7778
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7779
+ id: string;
7780
+ /** @enum {string} */
7781
+ type: "team.member.updated";
7782
+ /** @description When the event happened, in Unix milliseconds. */
7783
+ produced_at: number;
7784
+ payload: components["schemas"]["WebhookTeamMemberPayload"];
7785
+ };
7786
+ /** @description A user was removed from a team (or left it). */
7787
+ WebhookEventTeamMemberRemoved: {
7788
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7789
+ id: string;
7790
+ /** @enum {string} */
7791
+ type: "team.member.removed";
7792
+ /** @description When the event happened, in Unix milliseconds. */
7793
+ produced_at: number;
7794
+ payload: components["schemas"]["WebhookTeamMemberPayload"];
7795
+ };
7796
+ /** @description An invitation to join a team was created. */
7797
+ WebhookEventTeamInviteCreated: {
7798
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7799
+ id: string;
7800
+ /** @enum {string} */
7801
+ type: "team.invite.created";
7802
+ /** @description When the event happened, in Unix milliseconds. */
7803
+ produced_at: number;
7804
+ payload: components["schemas"]["WebhookTeamInvitePayload"];
7805
+ };
7806
+ /** @description A pending team invitation was revoked. */
7807
+ WebhookEventTeamInviteRevoked: {
7808
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7809
+ id: string;
7810
+ /** @enum {string} */
7811
+ type: "team.invite.revoked";
7812
+ /** @description When the event happened, in Unix milliseconds. */
7813
+ produced_at: number;
7814
+ payload: components["schemas"]["WebhookTeamInvitePayload"];
7815
+ };
7816
+ /** @description A team invitation was accepted. */
7817
+ WebhookEventTeamInviteAccepted: {
7818
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7819
+ id: string;
7820
+ /** @enum {string} */
7821
+ type: "team.invite.accepted";
7822
+ /** @description When the event happened, in Unix milliseconds. */
7823
+ produced_at: number;
7824
+ payload: components["schemas"]["WebhookTeamInvitePayload"];
7825
+ };
7826
+ /** @description An organization was created. */
7827
+ WebhookEventOrganizationCreated: {
7828
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7829
+ id: string;
7830
+ /** @enum {string} */
7831
+ type: "organization.created";
7832
+ /** @description When the event happened, in Unix milliseconds. */
7833
+ produced_at: number;
7834
+ payload: components["schemas"]["WebhookOrganizationPayload"];
7835
+ };
7836
+ /** @description An organization was updated (name, settings or admins). */
7837
+ WebhookEventOrganizationUpdated: {
7838
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7839
+ id: string;
7840
+ /** @enum {string} */
7841
+ type: "organization.updated";
7842
+ /** @description When the event happened, in Unix milliseconds. */
7843
+ produced_at: number;
7844
+ payload: components["schemas"]["WebhookOrganizationPayload"];
7845
+ };
7846
+ /** @description An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them. */
7847
+ WebhookEventOrganizationDeleted: {
7848
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7849
+ id: string;
7850
+ /** @enum {string} */
7851
+ type: "organization.deleted";
7852
+ /** @description When the event happened, in Unix milliseconds. */
7853
+ produced_at: number;
7854
+ payload: components["schemas"]["WebhookOrganizationPayload"];
7855
+ };
7856
+ /** @description Sent by `POST /notificationsubscription/:id/test` only, to check a receiver. */
7857
+ WebhookEventPing: {
7858
+ /** @description The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it. */
7859
+ id: string;
7860
+ /** @enum {string} */
7861
+ type: "ping";
7862
+ /** @description When the event happened, in Unix milliseconds. */
7863
+ produced_at: number;
7864
+ payload: Record<string, never>;
7865
+ };
7866
+ WebhookEventType: "user.created" | "user.updated" | "user.deleted" | "auth.login" | "credentials.exported" | "team.created" | "team.updated" | "team.deleted" | "team.member.added" | "team.member.updated" | "team.member.removed" | "team.invite.created" | "team.invite.revoked" | "team.invite.accepted" | "organization.created" | "organization.updated" | "organization.deleted" | "ping";
7867
+ /** @description The JSON body of a webhook delivery. Verify `x-faable-signature` before trusting it: HMAC-SHA256 of `${x-faable-timestamp}.${raw body}` with the subscription secret. */
7868
+ WebhookEvent: components["schemas"]["WebhookEventUserCreated"] | components["schemas"]["WebhookEventUserUpdated"] | components["schemas"]["WebhookEventUserDeleted"] | components["schemas"]["WebhookEventAuthLogin"] | components["schemas"]["WebhookEventCredentialsExported"] | components["schemas"]["WebhookEventTeamCreated"] | components["schemas"]["WebhookEventTeamUpdated"] | components["schemas"]["WebhookEventTeamDeleted"] | components["schemas"]["WebhookEventTeamMemberAdded"] | components["schemas"]["WebhookEventTeamMemberUpdated"] | components["schemas"]["WebhookEventTeamMemberRemoved"] | components["schemas"]["WebhookEventTeamInviteCreated"] | components["schemas"]["WebhookEventTeamInviteRevoked"] | components["schemas"]["WebhookEventTeamInviteAccepted"] | components["schemas"]["WebhookEventOrganizationCreated"] | components["schemas"]["WebhookEventOrganizationUpdated"] | components["schemas"]["WebhookEventOrganizationDeleted"] | components["schemas"]["WebhookEventPing"];
7651
7869
  /** @description Log */
7652
7870
  Log: {
7653
7871
  /** @description Log ID */
package/dist/version.js CHANGED
@@ -9,13 +9,13 @@
9
9
  // login pages could not import the SDK at all. Same pattern as auth-js.
10
10
  //
11
11
  // The sentinels MUST stay byte-identical to the `from` values in `.releaserc`.
12
- export const version = "2.7.107";
12
+ export const version = "2.7.108";
13
13
  // Short git SHA of the released commit. The version dates a build; this names
14
14
  // the exact tree, so a canonical log line or an audit entry leads straight to
15
15
  // `git show <sha>`. Deliberately NOT hex: an unreleased build (dev, a local
16
16
  // link) cannot be mistaken for a real commit — auth only records values that
17
17
  // look like a SHA, and this one never will.
18
- export const commit = "720cd27";
18
+ export const commit = "e70d451";
19
19
  // What this SDK writes in `x-faable-client`. Exported for a consumer that
20
20
  // builds a strategy on its own (outside `FaableAuthApi`) and still wants the
21
21
  // token request attributed — a bare `authClientCredentials` stamps only what
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faable/auth-sdk",
3
- "version": "2.7.107",
3
+ "version": "2.7.108",
4
4
  "author": "Marc Pomar <marc@faable.com>",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/spec/openapi.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "info": {
4
4
  "title": "@faablecloud/auth",
5
5
  "description": "Auth Platform made by Faable. Manage Users and Roles",
6
- "version": "2.78.2",
6
+ "version": "2.79.0",
7
7
  "license": {
8
8
  "name": "private",
9
9
  "url": "https://faable.com/docs/platform/privacy-policy"
@@ -6768,6 +6768,822 @@
6768
6768
  "additionalProperties": true,
6769
6769
  "description": "Metadata update"
6770
6770
  },
6771
+ "WebhookTeamPayload": {
6772
+ "type": "object",
6773
+ "required": [
6774
+ "team_id"
6775
+ ],
6776
+ "properties": {
6777
+ "team_id": {
6778
+ "type": "string"
6779
+ }
6780
+ },
6781
+ "description": "A notice: read the team with `GET /team/:team_id`."
6782
+ },
6783
+ "WebhookTeamMemberPayload": {
6784
+ "type": "object",
6785
+ "required": [
6786
+ "team_id",
6787
+ "user_id"
6788
+ ],
6789
+ "properties": {
6790
+ "team_id": {
6791
+ "type": "string"
6792
+ },
6793
+ "user_id": {
6794
+ "type": "string"
6795
+ },
6796
+ "roles": {
6797
+ "type": "array",
6798
+ "items": {
6799
+ "type": "string"
6800
+ }
6801
+ },
6802
+ "method": {
6803
+ "type": "string",
6804
+ "description": "`team.member.added`: how they got in (`direct`, `invite_auto`, `invite_accepted`, `domain`)."
6805
+ },
6806
+ "previous_roles": {
6807
+ "type": "array",
6808
+ "items": {
6809
+ "type": "string"
6810
+ },
6811
+ "description": "`team.member.updated`: the roles before the change."
6812
+ }
6813
+ }
6814
+ },
6815
+ "WebhookTeamInvitePayload": {
6816
+ "type": "object",
6817
+ "required": [
6818
+ "team_id"
6819
+ ],
6820
+ "properties": {
6821
+ "team_id": {
6822
+ "type": "string"
6823
+ },
6824
+ "invite_id": {
6825
+ "type": "string"
6826
+ },
6827
+ "email": {
6828
+ "type": "string"
6829
+ },
6830
+ "user_id": {
6831
+ "type": "string"
6832
+ },
6833
+ "inviter_user_id": {
6834
+ "type": "string"
6835
+ },
6836
+ "roles": {
6837
+ "type": "array",
6838
+ "items": {
6839
+ "type": "string"
6840
+ }
6841
+ },
6842
+ "reason": {
6843
+ "type": "string",
6844
+ "description": "`team.invite.revoked`: `revoked` by someone, `replaced` by a re-invite, or `declined` by the invitee."
6845
+ }
6846
+ }
6847
+ },
6848
+ "WebhookOrganizationPayload": {
6849
+ "type": "object",
6850
+ "required": [
6851
+ "organization_id"
6852
+ ],
6853
+ "properties": {
6854
+ "organization_id": {
6855
+ "type": "string"
6856
+ }
6857
+ },
6858
+ "description": "A notice: read the organization with `GET /organization/:organization_id`."
6859
+ },
6860
+ "WebhookCredentialsExportedPayload": {
6861
+ "type": "object",
6862
+ "required": [
6863
+ "account",
6864
+ "connection",
6865
+ "exported_at"
6866
+ ],
6867
+ "properties": {
6868
+ "account": {
6869
+ "type": "string"
6870
+ },
6871
+ "actor_user_id": {
6872
+ "type": "string"
6873
+ },
6874
+ "actor_client_id": {
6875
+ "type": "string"
6876
+ },
6877
+ "connection": {
6878
+ "anyOf": [
6879
+ {
6880
+ "type": "string"
6881
+ },
6882
+ {
6883
+ "type": "null"
6884
+ }
6885
+ ]
6886
+ },
6887
+ "exported_at": {
6888
+ "type": "string",
6889
+ "format": "date-time"
6890
+ }
6891
+ }
6892
+ },
6893
+ "WebhookEventUserCreated": {
6894
+ "type": "object",
6895
+ "required": [
6896
+ "id",
6897
+ "type",
6898
+ "produced_at",
6899
+ "payload"
6900
+ ],
6901
+ "properties": {
6902
+ "id": {
6903
+ "type": "string",
6904
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
6905
+ },
6906
+ "type": {
6907
+ "type": "string",
6908
+ "enum": [
6909
+ "user.created"
6910
+ ]
6911
+ },
6912
+ "produced_at": {
6913
+ "type": "number",
6914
+ "description": "When the event happened, in Unix milliseconds."
6915
+ },
6916
+ "payload": {
6917
+ "$ref": "#/components/schemas/User"
6918
+ }
6919
+ },
6920
+ "description": "A user was created (signup, import or Management API)."
6921
+ },
6922
+ "WebhookEventUserUpdated": {
6923
+ "type": "object",
6924
+ "required": [
6925
+ "id",
6926
+ "type",
6927
+ "produced_at",
6928
+ "payload"
6929
+ ],
6930
+ "properties": {
6931
+ "id": {
6932
+ "type": "string",
6933
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
6934
+ },
6935
+ "type": {
6936
+ "type": "string",
6937
+ "enum": [
6938
+ "user.updated"
6939
+ ]
6940
+ },
6941
+ "produced_at": {
6942
+ "type": "number",
6943
+ "description": "When the event happened, in Unix milliseconds."
6944
+ },
6945
+ "payload": {
6946
+ "$ref": "#/components/schemas/User"
6947
+ }
6948
+ },
6949
+ "description": "A user was updated."
6950
+ },
6951
+ "WebhookEventUserDeleted": {
6952
+ "type": "object",
6953
+ "required": [
6954
+ "id",
6955
+ "type",
6956
+ "produced_at",
6957
+ "payload"
6958
+ ],
6959
+ "properties": {
6960
+ "id": {
6961
+ "type": "string",
6962
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
6963
+ },
6964
+ "type": {
6965
+ "type": "string",
6966
+ "enum": [
6967
+ "user.deleted"
6968
+ ]
6969
+ },
6970
+ "produced_at": {
6971
+ "type": "number",
6972
+ "description": "When the event happened, in Unix milliseconds."
6973
+ },
6974
+ "payload": {
6975
+ "$ref": "#/components/schemas/User"
6976
+ }
6977
+ },
6978
+ "description": "A user was deleted."
6979
+ },
6980
+ "WebhookEventAuthLogin": {
6981
+ "type": "object",
6982
+ "required": [
6983
+ "id",
6984
+ "type",
6985
+ "produced_at",
6986
+ "payload"
6987
+ ],
6988
+ "properties": {
6989
+ "id": {
6990
+ "type": "string",
6991
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
6992
+ },
6993
+ "type": {
6994
+ "type": "string",
6995
+ "enum": [
6996
+ "auth.login"
6997
+ ]
6998
+ },
6999
+ "produced_at": {
7000
+ "type": "number",
7001
+ "description": "When the event happened, in Unix milliseconds."
7002
+ },
7003
+ "payload": {
7004
+ "$ref": "#/components/schemas/User"
7005
+ }
7006
+ },
7007
+ "description": "A user logged in."
7008
+ },
7009
+ "WebhookEventCredentialsExported": {
7010
+ "type": "object",
7011
+ "required": [
7012
+ "id",
7013
+ "type",
7014
+ "produced_at",
7015
+ "payload"
7016
+ ],
7017
+ "properties": {
7018
+ "id": {
7019
+ "type": "string",
7020
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7021
+ },
7022
+ "type": {
7023
+ "type": "string",
7024
+ "enum": [
7025
+ "credentials.exported"
7026
+ ]
7027
+ },
7028
+ "produced_at": {
7029
+ "type": "number",
7030
+ "description": "When the event happened, in Unix milliseconds."
7031
+ },
7032
+ "payload": {
7033
+ "$ref": "#/components/schemas/WebhookCredentialsExportedPayload"
7034
+ }
7035
+ },
7036
+ "description": "Someone exported the tenant's password hashes (`GET /user/export` with hashes)."
7037
+ },
7038
+ "WebhookEventTeamCreated": {
7039
+ "type": "object",
7040
+ "required": [
7041
+ "id",
7042
+ "type",
7043
+ "produced_at",
7044
+ "payload"
7045
+ ],
7046
+ "properties": {
7047
+ "id": {
7048
+ "type": "string",
7049
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7050
+ },
7051
+ "type": {
7052
+ "type": "string",
7053
+ "enum": [
7054
+ "team.created"
7055
+ ]
7056
+ },
7057
+ "produced_at": {
7058
+ "type": "number",
7059
+ "description": "When the event happened, in Unix milliseconds."
7060
+ },
7061
+ "payload": {
7062
+ "$ref": "#/components/schemas/WebhookTeamPayload"
7063
+ }
7064
+ },
7065
+ "description": "A team was created."
7066
+ },
7067
+ "WebhookEventTeamUpdated": {
7068
+ "type": "object",
7069
+ "required": [
7070
+ "id",
7071
+ "type",
7072
+ "produced_at",
7073
+ "payload"
7074
+ ],
7075
+ "properties": {
7076
+ "id": {
7077
+ "type": "string",
7078
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7079
+ },
7080
+ "type": {
7081
+ "type": "string",
7082
+ "enum": [
7083
+ "team.updated"
7084
+ ]
7085
+ },
7086
+ "produced_at": {
7087
+ "type": "number",
7088
+ "description": "When the event happened, in Unix milliseconds."
7089
+ },
7090
+ "payload": {
7091
+ "$ref": "#/components/schemas/WebhookTeamPayload"
7092
+ }
7093
+ },
7094
+ "description": "A team was updated."
7095
+ },
7096
+ "WebhookEventTeamDeleted": {
7097
+ "type": "object",
7098
+ "required": [
7099
+ "id",
7100
+ "type",
7101
+ "produced_at",
7102
+ "payload"
7103
+ ],
7104
+ "properties": {
7105
+ "id": {
7106
+ "type": "string",
7107
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7108
+ },
7109
+ "type": {
7110
+ "type": "string",
7111
+ "enum": [
7112
+ "team.deleted"
7113
+ ]
7114
+ },
7115
+ "produced_at": {
7116
+ "type": "number",
7117
+ "description": "When the event happened, in Unix milliseconds."
7118
+ },
7119
+ "payload": {
7120
+ "$ref": "#/components/schemas/WebhookTeamPayload"
7121
+ }
7122
+ },
7123
+ "description": "A team was deleted."
7124
+ },
7125
+ "WebhookEventTeamMemberAdded": {
7126
+ "type": "object",
7127
+ "required": [
7128
+ "id",
7129
+ "type",
7130
+ "produced_at",
7131
+ "payload"
7132
+ ],
7133
+ "properties": {
7134
+ "id": {
7135
+ "type": "string",
7136
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7137
+ },
7138
+ "type": {
7139
+ "type": "string",
7140
+ "enum": [
7141
+ "team.member.added"
7142
+ ]
7143
+ },
7144
+ "produced_at": {
7145
+ "type": "number",
7146
+ "description": "When the event happened, in Unix milliseconds."
7147
+ },
7148
+ "payload": {
7149
+ "$ref": "#/components/schemas/WebhookTeamMemberPayload"
7150
+ }
7151
+ },
7152
+ "description": "A user was added to a team."
7153
+ },
7154
+ "WebhookEventTeamMemberUpdated": {
7155
+ "type": "object",
7156
+ "required": [
7157
+ "id",
7158
+ "type",
7159
+ "produced_at",
7160
+ "payload"
7161
+ ],
7162
+ "properties": {
7163
+ "id": {
7164
+ "type": "string",
7165
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7166
+ },
7167
+ "type": {
7168
+ "type": "string",
7169
+ "enum": [
7170
+ "team.member.updated"
7171
+ ]
7172
+ },
7173
+ "produced_at": {
7174
+ "type": "number",
7175
+ "description": "When the event happened, in Unix milliseconds."
7176
+ },
7177
+ "payload": {
7178
+ "$ref": "#/components/schemas/WebhookTeamMemberPayload"
7179
+ }
7180
+ },
7181
+ "description": "A team member's roles changed."
7182
+ },
7183
+ "WebhookEventTeamMemberRemoved": {
7184
+ "type": "object",
7185
+ "required": [
7186
+ "id",
7187
+ "type",
7188
+ "produced_at",
7189
+ "payload"
7190
+ ],
7191
+ "properties": {
7192
+ "id": {
7193
+ "type": "string",
7194
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7195
+ },
7196
+ "type": {
7197
+ "type": "string",
7198
+ "enum": [
7199
+ "team.member.removed"
7200
+ ]
7201
+ },
7202
+ "produced_at": {
7203
+ "type": "number",
7204
+ "description": "When the event happened, in Unix milliseconds."
7205
+ },
7206
+ "payload": {
7207
+ "$ref": "#/components/schemas/WebhookTeamMemberPayload"
7208
+ }
7209
+ },
7210
+ "description": "A user was removed from a team (or left it)."
7211
+ },
7212
+ "WebhookEventTeamInviteCreated": {
7213
+ "type": "object",
7214
+ "required": [
7215
+ "id",
7216
+ "type",
7217
+ "produced_at",
7218
+ "payload"
7219
+ ],
7220
+ "properties": {
7221
+ "id": {
7222
+ "type": "string",
7223
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7224
+ },
7225
+ "type": {
7226
+ "type": "string",
7227
+ "enum": [
7228
+ "team.invite.created"
7229
+ ]
7230
+ },
7231
+ "produced_at": {
7232
+ "type": "number",
7233
+ "description": "When the event happened, in Unix milliseconds."
7234
+ },
7235
+ "payload": {
7236
+ "$ref": "#/components/schemas/WebhookTeamInvitePayload"
7237
+ }
7238
+ },
7239
+ "description": "An invitation to join a team was created."
7240
+ },
7241
+ "WebhookEventTeamInviteRevoked": {
7242
+ "type": "object",
7243
+ "required": [
7244
+ "id",
7245
+ "type",
7246
+ "produced_at",
7247
+ "payload"
7248
+ ],
7249
+ "properties": {
7250
+ "id": {
7251
+ "type": "string",
7252
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7253
+ },
7254
+ "type": {
7255
+ "type": "string",
7256
+ "enum": [
7257
+ "team.invite.revoked"
7258
+ ]
7259
+ },
7260
+ "produced_at": {
7261
+ "type": "number",
7262
+ "description": "When the event happened, in Unix milliseconds."
7263
+ },
7264
+ "payload": {
7265
+ "$ref": "#/components/schemas/WebhookTeamInvitePayload"
7266
+ }
7267
+ },
7268
+ "description": "A pending team invitation was revoked."
7269
+ },
7270
+ "WebhookEventTeamInviteAccepted": {
7271
+ "type": "object",
7272
+ "required": [
7273
+ "id",
7274
+ "type",
7275
+ "produced_at",
7276
+ "payload"
7277
+ ],
7278
+ "properties": {
7279
+ "id": {
7280
+ "type": "string",
7281
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7282
+ },
7283
+ "type": {
7284
+ "type": "string",
7285
+ "enum": [
7286
+ "team.invite.accepted"
7287
+ ]
7288
+ },
7289
+ "produced_at": {
7290
+ "type": "number",
7291
+ "description": "When the event happened, in Unix milliseconds."
7292
+ },
7293
+ "payload": {
7294
+ "$ref": "#/components/schemas/WebhookTeamInvitePayload"
7295
+ }
7296
+ },
7297
+ "description": "A team invitation was accepted."
7298
+ },
7299
+ "WebhookEventOrganizationCreated": {
7300
+ "type": "object",
7301
+ "required": [
7302
+ "id",
7303
+ "type",
7304
+ "produced_at",
7305
+ "payload"
7306
+ ],
7307
+ "properties": {
7308
+ "id": {
7309
+ "type": "string",
7310
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7311
+ },
7312
+ "type": {
7313
+ "type": "string",
7314
+ "enum": [
7315
+ "organization.created"
7316
+ ]
7317
+ },
7318
+ "produced_at": {
7319
+ "type": "number",
7320
+ "description": "When the event happened, in Unix milliseconds."
7321
+ },
7322
+ "payload": {
7323
+ "$ref": "#/components/schemas/WebhookOrganizationPayload"
7324
+ }
7325
+ },
7326
+ "description": "An organization was created."
7327
+ },
7328
+ "WebhookEventOrganizationUpdated": {
7329
+ "type": "object",
7330
+ "required": [
7331
+ "id",
7332
+ "type",
7333
+ "produced_at",
7334
+ "payload"
7335
+ ],
7336
+ "properties": {
7337
+ "id": {
7338
+ "type": "string",
7339
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7340
+ },
7341
+ "type": {
7342
+ "type": "string",
7343
+ "enum": [
7344
+ "organization.updated"
7345
+ ]
7346
+ },
7347
+ "produced_at": {
7348
+ "type": "number",
7349
+ "description": "When the event happened, in Unix milliseconds."
7350
+ },
7351
+ "payload": {
7352
+ "$ref": "#/components/schemas/WebhookOrganizationPayload"
7353
+ }
7354
+ },
7355
+ "description": "An organization was updated (name, settings or admins)."
7356
+ },
7357
+ "WebhookEventOrganizationDeleted": {
7358
+ "type": "object",
7359
+ "required": [
7360
+ "id",
7361
+ "type",
7362
+ "produced_at",
7363
+ "payload"
7364
+ ],
7365
+ "properties": {
7366
+ "id": {
7367
+ "type": "string",
7368
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7369
+ },
7370
+ "type": {
7371
+ "type": "string",
7372
+ "enum": [
7373
+ "organization.deleted"
7374
+ ]
7375
+ },
7376
+ "produced_at": {
7377
+ "type": "number",
7378
+ "description": "When the event happened, in Unix milliseconds."
7379
+ },
7380
+ "payload": {
7381
+ "$ref": "#/components/schemas/WebhookOrganizationPayload"
7382
+ }
7383
+ },
7384
+ "description": "An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them."
7385
+ },
7386
+ "WebhookEventPing": {
7387
+ "type": "object",
7388
+ "required": [
7389
+ "id",
7390
+ "type",
7391
+ "produced_at",
7392
+ "payload"
7393
+ ],
7394
+ "properties": {
7395
+ "id": {
7396
+ "type": "string",
7397
+ "description": "The event id. Also the `x-faable-delivery` header, and the same on every retry: deduplicate by it."
7398
+ },
7399
+ "type": {
7400
+ "type": "string",
7401
+ "enum": [
7402
+ "ping"
7403
+ ]
7404
+ },
7405
+ "produced_at": {
7406
+ "type": "number",
7407
+ "description": "When the event happened, in Unix milliseconds."
7408
+ },
7409
+ "payload": {
7410
+ "type": "object",
7411
+ "properties": {}
7412
+ }
7413
+ },
7414
+ "description": "Sent by `POST /notificationsubscription/:id/test` only, to check a receiver."
7415
+ },
7416
+ "WebhookEventType": {
7417
+ "anyOf": [
7418
+ {
7419
+ "type": "string",
7420
+ "enum": [
7421
+ "user.created"
7422
+ ]
7423
+ },
7424
+ {
7425
+ "type": "string",
7426
+ "enum": [
7427
+ "user.updated"
7428
+ ]
7429
+ },
7430
+ {
7431
+ "type": "string",
7432
+ "enum": [
7433
+ "user.deleted"
7434
+ ]
7435
+ },
7436
+ {
7437
+ "type": "string",
7438
+ "enum": [
7439
+ "auth.login"
7440
+ ]
7441
+ },
7442
+ {
7443
+ "type": "string",
7444
+ "enum": [
7445
+ "credentials.exported"
7446
+ ]
7447
+ },
7448
+ {
7449
+ "type": "string",
7450
+ "enum": [
7451
+ "team.created"
7452
+ ]
7453
+ },
7454
+ {
7455
+ "type": "string",
7456
+ "enum": [
7457
+ "team.updated"
7458
+ ]
7459
+ },
7460
+ {
7461
+ "type": "string",
7462
+ "enum": [
7463
+ "team.deleted"
7464
+ ]
7465
+ },
7466
+ {
7467
+ "type": "string",
7468
+ "enum": [
7469
+ "team.member.added"
7470
+ ]
7471
+ },
7472
+ {
7473
+ "type": "string",
7474
+ "enum": [
7475
+ "team.member.updated"
7476
+ ]
7477
+ },
7478
+ {
7479
+ "type": "string",
7480
+ "enum": [
7481
+ "team.member.removed"
7482
+ ]
7483
+ },
7484
+ {
7485
+ "type": "string",
7486
+ "enum": [
7487
+ "team.invite.created"
7488
+ ]
7489
+ },
7490
+ {
7491
+ "type": "string",
7492
+ "enum": [
7493
+ "team.invite.revoked"
7494
+ ]
7495
+ },
7496
+ {
7497
+ "type": "string",
7498
+ "enum": [
7499
+ "team.invite.accepted"
7500
+ ]
7501
+ },
7502
+ {
7503
+ "type": "string",
7504
+ "enum": [
7505
+ "organization.created"
7506
+ ]
7507
+ },
7508
+ {
7509
+ "type": "string",
7510
+ "enum": [
7511
+ "organization.updated"
7512
+ ]
7513
+ },
7514
+ {
7515
+ "type": "string",
7516
+ "enum": [
7517
+ "organization.deleted"
7518
+ ]
7519
+ },
7520
+ {
7521
+ "type": "string",
7522
+ "enum": [
7523
+ "ping"
7524
+ ]
7525
+ }
7526
+ ]
7527
+ },
7528
+ "WebhookEvent": {
7529
+ "anyOf": [
7530
+ {
7531
+ "$ref": "#/components/schemas/WebhookEventUserCreated"
7532
+ },
7533
+ {
7534
+ "$ref": "#/components/schemas/WebhookEventUserUpdated"
7535
+ },
7536
+ {
7537
+ "$ref": "#/components/schemas/WebhookEventUserDeleted"
7538
+ },
7539
+ {
7540
+ "$ref": "#/components/schemas/WebhookEventAuthLogin"
7541
+ },
7542
+ {
7543
+ "$ref": "#/components/schemas/WebhookEventCredentialsExported"
7544
+ },
7545
+ {
7546
+ "$ref": "#/components/schemas/WebhookEventTeamCreated"
7547
+ },
7548
+ {
7549
+ "$ref": "#/components/schemas/WebhookEventTeamUpdated"
7550
+ },
7551
+ {
7552
+ "$ref": "#/components/schemas/WebhookEventTeamDeleted"
7553
+ },
7554
+ {
7555
+ "$ref": "#/components/schemas/WebhookEventTeamMemberAdded"
7556
+ },
7557
+ {
7558
+ "$ref": "#/components/schemas/WebhookEventTeamMemberUpdated"
7559
+ },
7560
+ {
7561
+ "$ref": "#/components/schemas/WebhookEventTeamMemberRemoved"
7562
+ },
7563
+ {
7564
+ "$ref": "#/components/schemas/WebhookEventTeamInviteCreated"
7565
+ },
7566
+ {
7567
+ "$ref": "#/components/schemas/WebhookEventTeamInviteRevoked"
7568
+ },
7569
+ {
7570
+ "$ref": "#/components/schemas/WebhookEventTeamInviteAccepted"
7571
+ },
7572
+ {
7573
+ "$ref": "#/components/schemas/WebhookEventOrganizationCreated"
7574
+ },
7575
+ {
7576
+ "$ref": "#/components/schemas/WebhookEventOrganizationUpdated"
7577
+ },
7578
+ {
7579
+ "$ref": "#/components/schemas/WebhookEventOrganizationDeleted"
7580
+ },
7581
+ {
7582
+ "$ref": "#/components/schemas/WebhookEventPing"
7583
+ }
7584
+ ],
7585
+ "description": "The JSON body of a webhook delivery. Verify `x-faable-signature` before trusting it: HMAC-SHA256 of `${x-faable-timestamp}.${raw body}` with the subscription secret."
7586
+ },
6771
7587
  "Log": {
6772
7588
  "type": "object",
6773
7589
  "required": [