@faable/deploy-sdk 2.3.0 → 2.5.0

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.
package/spec/openapi.json CHANGED
@@ -452,6 +452,13 @@
452
452
  ],
453
453
  "default": "standard"
454
454
  },
455
+ "AppBuildMode": {
456
+ "enum": [
457
+ "local",
458
+ "remote"
459
+ ],
460
+ "default": "local"
461
+ },
455
462
  "AppCoexistenceRouting": {
456
463
  "enum": [
457
464
  "cookie",
@@ -472,6 +479,7 @@
472
479
  "runtime",
473
480
  "runtime_strategy",
474
481
  "mode",
482
+ "build_mode",
475
483
  "instance_type",
476
484
  "region",
477
485
  "status",
@@ -528,6 +536,9 @@
528
536
  "mode": {
529
537
  "$ref": "#/components/schemas/AppMode"
530
538
  },
539
+ "build_mode": {
540
+ "$ref": "#/components/schemas/AppBuildMode"
541
+ },
531
542
  "coexistence_routing": {
532
543
  "anyOf": [
533
544
  {
@@ -794,6 +805,53 @@
794
805
  },
795
806
  "additionalProperties": false
796
807
  },
808
+ "DeploymentSource": {
809
+ "type": "object",
810
+ "required": [
811
+ "manifest"
812
+ ],
813
+ "properties": {
814
+ "manifest": {
815
+ "type": "array",
816
+ "items": {
817
+ "type": "object",
818
+ "required": [
819
+ "path",
820
+ "sha",
821
+ "size"
822
+ ],
823
+ "properties": {
824
+ "path": {
825
+ "type": "string",
826
+ "minLength": 1,
827
+ "maxLength": 1024
828
+ },
829
+ "sha": {
830
+ "type": "string",
831
+ "pattern": "^[a-f0-9]{64}$"
832
+ },
833
+ "size": {
834
+ "type": "integer",
835
+ "minimum": 0,
836
+ "maximum": 104857600
837
+ },
838
+ "mode": {
839
+ "type": "integer",
840
+ "minimum": 0,
841
+ "maximum": 4095
842
+ }
843
+ }
844
+ },
845
+ "minItems": 1,
846
+ "maxItems": 20000
847
+ },
848
+ "plan": {
849
+ "type": "object",
850
+ "properties": {},
851
+ "additionalProperties": true
852
+ }
853
+ }
854
+ },
797
855
  "Deployment": {
798
856
  "type": "object",
799
857
  "required": [
@@ -830,6 +888,9 @@
830
888
  "github_commit_message": {
831
889
  "type": "string"
832
890
  },
891
+ "source": {
892
+ "$ref": "#/components/schemas/DeploymentSource"
893
+ },
833
894
  "status": {
834
895
  "$ref": "#/components/schemas/DeploymentStatus"
835
896
  },
@@ -952,6 +1013,9 @@
952
1013
  },
953
1014
  "type": {
954
1015
  "type": "string"
1016
+ },
1017
+ "source": {
1018
+ "$ref": "#/components/schemas/DeploymentSource"
955
1019
  }
956
1020
  }
957
1021
  },
@@ -1710,54 +1774,6 @@
1710
1774
  },
1711
1775
  "additionalProperties": false
1712
1776
  },
1713
- "ProjectFavorites": {
1714
- "type": "object",
1715
- "required": [
1716
- "id",
1717
- "user_id",
1718
- "favorites",
1719
- "recents",
1720
- "metadata",
1721
- "createdAt"
1722
- ],
1723
- "properties": {
1724
- "id": {
1725
- "type": "string",
1726
- "description": "ProjectFavorites ID"
1727
- },
1728
- "user_id": {
1729
- "type": "string"
1730
- },
1731
- "favorites": {
1732
- "type": "array",
1733
- "items": {
1734
- "type": "string"
1735
- }
1736
- },
1737
- "recents": {
1738
- "type": "array",
1739
- "items": {
1740
- "type": "string"
1741
- }
1742
- },
1743
- "metadata": {
1744
- "type": "object",
1745
- "properties": {},
1746
- "additionalProperties": true,
1747
- "default": {}
1748
- },
1749
- "createdAt": {
1750
- "type": "string",
1751
- "description": "ProjectFavorites creation date"
1752
- },
1753
- "updatedAt": {
1754
- "type": "string",
1755
- "description": "ProjectFavorites updated date"
1756
- }
1757
- },
1758
- "description": "ProjectFavorites",
1759
- "additionalProperties": false
1760
- },
1761
1777
  "AppChecknameResponse": {
1762
1778
  "type": "object",
1763
1779
  "required": [
@@ -1784,12 +1800,6 @@
1784
1800
  }
1785
1801
  }
1786
1802
  },
1787
- "StatusUpdate": {
1788
- "type": "object",
1789
- "properties": {},
1790
- "description": "Update Status",
1791
- "additionalProperties": true
1792
- },
1793
1803
  "EventAppStatus": {
1794
1804
  "type": "object",
1795
1805
  "required": [
@@ -1900,88 +1910,6 @@
1900
1910
  },
1901
1911
  "description": "Event Domain Status",
1902
1912
  "additionalProperties": false
1903
- },
1904
- "GithubRepo": {
1905
- "type": "object",
1906
- "required": [
1907
- "id",
1908
- "full_name",
1909
- "private",
1910
- "default_branch",
1911
- "installation_id"
1912
- ],
1913
- "properties": {
1914
- "id": {
1915
- "type": "number"
1916
- },
1917
- "full_name": {
1918
- "type": "string",
1919
- "description": "owner/repo"
1920
- },
1921
- "private": {
1922
- "type": "boolean"
1923
- },
1924
- "default_branch": {
1925
- "type": "string"
1926
- },
1927
- "installation_id": {
1928
- "type": "number",
1929
- "description": "Id of the Faable GitHub App installation that grants access"
1930
- },
1931
- "description": {
1932
- "type": "string",
1933
- "description": "Repository description from GitHub"
1934
- },
1935
- "permissions": {
1936
- "type": "object",
1937
- "required": [
1938
- "admin",
1939
- "push",
1940
- "pull"
1941
- ],
1942
- "properties": {
1943
- "admin": {
1944
- "type": "boolean"
1945
- },
1946
- "push": {
1947
- "type": "boolean"
1948
- },
1949
- "pull": {
1950
- "type": "boolean"
1951
- }
1952
- }
1953
- }
1954
- }
1955
- },
1956
- "GithubInstallation": {
1957
- "type": "object",
1958
- "required": [
1959
- "installation_id",
1960
- "account_login",
1961
- "account_type",
1962
- "app_slug"
1963
- ],
1964
- "properties": {
1965
- "installation_id": {
1966
- "type": "number"
1967
- },
1968
- "account_login": {
1969
- "type": "string",
1970
- "description": "Org or user that owns the installation"
1971
- },
1972
- "account_type": {
1973
- "type": "string",
1974
- "description": "Organization | User"
1975
- },
1976
- "account_avatar_url": {
1977
- "type": "string",
1978
- "description": "Avatar of the org/user that owns the install"
1979
- },
1980
- "app_slug": {
1981
- "type": "string",
1982
- "description": "GitHub App slug — used to build the install/configure URL"
1983
- }
1984
- }
1985
1913
  }
1986
1914
  }
1987
1915
  },
@@ -2690,6 +2618,7 @@
2690
2618
  "runtime",
2691
2619
  "runtime_strategy",
2692
2620
  "mode",
2621
+ "build_mode",
2693
2622
  "instance_type",
2694
2623
  "region",
2695
2624
  "status",
@@ -2746,6 +2675,9 @@
2746
2675
  "mode": {
2747
2676
  "$ref": "#/components/schemas/AppMode"
2748
2677
  },
2678
+ "build_mode": {
2679
+ "$ref": "#/components/schemas/AppBuildMode"
2680
+ },
2749
2681
  "coexistence_routing": {
2750
2682
  "anyOf": [
2751
2683
  {
@@ -2893,6 +2825,7 @@
2893
2825
  "runtime",
2894
2826
  "runtime_strategy",
2895
2827
  "mode",
2828
+ "build_mode",
2896
2829
  "instance_type",
2897
2830
  "region",
2898
2831
  "status",
@@ -2949,6 +2882,9 @@
2949
2882
  "mode": {
2950
2883
  "$ref": "#/components/schemas/AppMode"
2951
2884
  },
2885
+ "build_mode": {
2886
+ "$ref": "#/components/schemas/AppBuildMode"
2887
+ },
2952
2888
  "coexistence_routing": {
2953
2889
  "anyOf": [
2954
2890
  {
@@ -3105,6 +3041,7 @@
3105
3041
  "runtime",
3106
3042
  "runtime_strategy",
3107
3043
  "mode",
3044
+ "build_mode",
3108
3045
  "instance_type",
3109
3046
  "region",
3110
3047
  "status",
@@ -3161,6 +3098,9 @@
3161
3098
  "mode": {
3162
3099
  "$ref": "#/components/schemas/AppMode"
3163
3100
  },
3101
+ "build_mode": {
3102
+ "$ref": "#/components/schemas/AppBuildMode"
3103
+ },
3164
3104
  "coexistence_routing": {
3165
3105
  "anyOf": [
3166
3106
  {
@@ -3288,6 +3228,7 @@
3288
3228
  "runtime",
3289
3229
  "runtime_strategy",
3290
3230
  "mode",
3231
+ "build_mode",
3291
3232
  "instance_type",
3292
3233
  "region",
3293
3234
  "status",
@@ -3344,6 +3285,9 @@
3344
3285
  "mode": {
3345
3286
  "$ref": "#/components/schemas/AppMode"
3346
3287
  },
3288
+ "build_mode": {
3289
+ "$ref": "#/components/schemas/AppBuildMode"
3290
+ },
3347
3291
  "coexistence_routing": {
3348
3292
  "anyOf": [
3349
3293
  {
@@ -4400,6 +4344,9 @@
4400
4344
  },
4401
4345
  "type": {
4402
4346
  "type": "string"
4347
+ },
4348
+ "source": {
4349
+ "$ref": "#/components/schemas/DeploymentSource"
4403
4350
  }
4404
4351
  }
4405
4352
  }
@@ -4455,6 +4402,9 @@
4455
4402
  "github_commit_message": {
4456
4403
  "type": "string"
4457
4404
  },
4405
+ "source": {
4406
+ "$ref": "#/components/schemas/DeploymentSource"
4407
+ },
4458
4408
  "status": {
4459
4409
  "$ref": "#/components/schemas/DeploymentStatus"
4460
4410
  },
@@ -4549,6 +4499,9 @@
4549
4499
  "github_commit_message": {
4550
4500
  "type": "string"
4551
4501
  },
4502
+ "source": {
4503
+ "$ref": "#/components/schemas/DeploymentSource"
4504
+ },
4552
4505
  "status": {
4553
4506
  "$ref": "#/components/schemas/DeploymentStatus"
4554
4507
  },
@@ -4659,6 +4612,9 @@
4659
4612
  "github_commit_message": {
4660
4613
  "type": "string"
4661
4614
  },
4615
+ "source": {
4616
+ "$ref": "#/components/schemas/DeploymentSource"
4617
+ },
4662
4618
  "status": {
4663
4619
  "$ref": "#/components/schemas/DeploymentStatus"
4664
4620
  },
@@ -4751,6 +4707,9 @@
4751
4707
  "github_commit_message": {
4752
4708
  "type": "string"
4753
4709
  },
4710
+ "source": {
4711
+ "$ref": "#/components/schemas/DeploymentSource"
4712
+ },
4754
4713
  "status": {
4755
4714
  "$ref": "#/components/schemas/DeploymentStatus"
4756
4715
  },
@@ -4779,87 +4738,6 @@
4779
4738
  }
4780
4739
  },
4781
4740
  "/deployment/{deployment_id}/logs": {
4782
- "post": {
4783
- "operationId": "deployment/upload_logs",
4784
- "summary": "Upload deployment build logs",
4785
- "tags": [
4786
- "deployments"
4787
- ],
4788
- "description": "Attach the CLI build/deploy output to a deployment",
4789
- "requestBody": {
4790
- "required": true,
4791
- "content": {
4792
- "application/json": {
4793
- "schema": {
4794
- "type": "object",
4795
- "required": [
4796
- "content"
4797
- ],
4798
- "properties": {
4799
- "content": {
4800
- "type": "string"
4801
- },
4802
- "truncated": {
4803
- "type": "boolean",
4804
- "default": false
4805
- }
4806
- }
4807
- }
4808
- }
4809
- }
4810
- },
4811
- "parameters": [
4812
- {
4813
- "schema": {
4814
- "type": "string"
4815
- },
4816
- "in": "path",
4817
- "name": "deployment_id",
4818
- "required": true
4819
- }
4820
- ],
4821
- "security": [
4822
- {
4823
- "faable_user": [],
4824
- "faable_cli": [],
4825
- "apikey": [],
4826
- "faable_machine": []
4827
- }
4828
- ],
4829
- "x-internal": true,
4830
- "responses": {
4831
- "201": {
4832
- "description": "Default Response",
4833
- "content": {
4834
- "application/json": {
4835
- "schema": {
4836
- "type": "object",
4837
- "required": [
4838
- "id",
4839
- "deployment_id",
4840
- "truncated",
4841
- "size"
4842
- ],
4843
- "properties": {
4844
- "id": {
4845
- "type": "string"
4846
- },
4847
- "deployment_id": {
4848
- "type": "string"
4849
- },
4850
- "truncated": {
4851
- "type": "boolean"
4852
- },
4853
- "size": {
4854
- "type": "number"
4855
- }
4856
- }
4857
- }
4858
- }
4859
- }
4860
- }
4861
- }
4862
- },
4863
4741
  "get": {
4864
4742
  "operationId": "deployment/get_logs",
4865
4743
  "summary": "Get deployment build logs",
@@ -5708,1142 +5586,12 @@
5708
5586
  }
5709
5587
  }
5710
5588
  },
5711
- "/contact": {
5712
- "get": {
5713
- "operationId": "contact/list",
5714
- "summary": "List Contacts",
5589
+ "/auth/github-oidc": {
5590
+ "post": {
5591
+ "operationId": "auth/github_oidc",
5592
+ "summary": "Exchange github oidc token",
5715
5593
  "tags": [
5716
- "contacts"
5717
- ],
5718
- "description": "List Contacts",
5719
- "parameters": [
5720
- {
5721
- "schema": {
5722
- "type": "number",
5723
- "minimum": 1,
5724
- "maximum": 200
5725
- },
5726
- "in": "query",
5727
- "name": "pageSize",
5728
- "required": false,
5729
- "description": "Number of items per page (max 200)"
5730
- },
5731
- {
5732
- "schema": {
5733
- "type": "string"
5734
- },
5735
- "in": "query",
5736
- "name": "cursor",
5737
- "required": false,
5738
- "description": "Cursor for next page"
5739
- },
5740
- {
5741
- "schema": {
5742
- "type": "string"
5743
- },
5744
- "in": "query",
5745
- "name": "next",
5746
- "required": false,
5747
- "description": "Cursor returned by the previous page"
5748
- },
5749
- {
5750
- "schema": {
5751
- "type": "string"
5752
- },
5753
- "in": "query",
5754
- "name": "query",
5755
- "required": false,
5756
- "description": "Filter using a FaableQL query"
5757
- }
5758
- ],
5759
- "security": [
5760
- {
5761
- "faable_user": [],
5762
- "faable_cli": [],
5763
- "apikey": [],
5764
- "faable_machine": []
5765
- }
5766
- ],
5767
- "x-internal": true,
5768
- "responses": {
5769
- "200": {
5770
- "description": "Default Response",
5771
- "content": {
5772
- "application/json": {
5773
- "schema": {
5774
- "type": "object",
5775
- "required": [
5776
- "next",
5777
- "results"
5778
- ],
5779
- "properties": {
5780
- "next": {
5781
- "anyOf": [
5782
- {
5783
- "type": "string"
5784
- },
5785
- {
5786
- "type": "null"
5787
- }
5788
- ]
5789
- },
5790
- "results": {
5791
- "type": "array",
5792
- "items": {
5793
- "$ref": "#/components/schemas/Contact"
5794
- }
5795
- }
5796
- },
5797
- "additionalProperties": false
5798
- }
5799
- }
5800
- }
5801
- }
5802
- }
5803
- },
5804
- "post": {
5805
- "operationId": "contact/create",
5806
- "summary": "Create Contact",
5807
- "tags": [
5808
- "contacts"
5809
- ],
5810
- "description": "Create Contact",
5811
- "requestBody": {
5812
- "required": true,
5813
- "content": {
5814
- "application/json": {
5815
- "schema": {
5816
- "type": "object",
5817
- "required": [
5818
- "contact_type"
5819
- ],
5820
- "properties": {
5821
- "contact_type": {
5822
- "enum": [
5823
- "primary",
5824
- "technical",
5825
- "security",
5826
- "emergency",
5827
- "billing"
5828
- ]
5829
- },
5830
- "email": {
5831
- "type": "string"
5832
- },
5833
- "phone": {
5834
- "type": "string"
5835
- }
5836
- },
5837
- "additionalProperties": false
5838
- }
5839
- }
5840
- }
5841
- },
5842
- "security": [
5843
- {
5844
- "faable_user": [],
5845
- "faable_cli": [],
5846
- "apikey": [],
5847
- "faable_machine": []
5848
- }
5849
- ],
5850
- "x-internal": true,
5851
- "responses": {
5852
- "201": {
5853
- "description": "Contact",
5854
- "content": {
5855
- "application/json": {
5856
- "schema": {
5857
- "type": "object",
5858
- "required": [
5859
- "id",
5860
- "team",
5861
- "contact_type",
5862
- "metadata",
5863
- "createdAt"
5864
- ],
5865
- "properties": {
5866
- "id": {
5867
- "type": "string",
5868
- "description": "Contact ID"
5869
- },
5870
- "team": {
5871
- "type": "string"
5872
- },
5873
- "contact_type": {
5874
- "enum": [
5875
- "primary",
5876
- "technical",
5877
- "security",
5878
- "emergency",
5879
- "billing"
5880
- ]
5881
- },
5882
- "email": {
5883
- "type": "string"
5884
- },
5885
- "phone": {
5886
- "type": "string"
5887
- },
5888
- "metadata": {
5889
- "type": "object",
5890
- "properties": {},
5891
- "additionalProperties": true,
5892
- "default": {}
5893
- },
5894
- "createdAt": {
5895
- "type": "string",
5896
- "description": "Contact creation date"
5897
- },
5898
- "updatedAt": {
5899
- "type": "string",
5900
- "description": "Contact updated date"
5901
- }
5902
- },
5903
- "description": "Contact",
5904
- "additionalProperties": false
5905
- }
5906
- }
5907
- }
5908
- }
5909
- }
5910
- }
5911
- },
5912
- "/contact/{id}": {
5913
- "get": {
5914
- "operationId": "contact/get",
5915
- "summary": "Get Contact",
5916
- "tags": [
5917
- "contacts"
5918
- ],
5919
- "description": "Get Contact",
5920
- "parameters": [
5921
- {
5922
- "schema": {
5923
- "type": "string"
5924
- },
5925
- "in": "path",
5926
- "name": "id",
5927
- "required": true
5928
- }
5929
- ],
5930
- "security": [
5931
- {
5932
- "faable_user": [],
5933
- "faable_cli": [],
5934
- "apikey": [],
5935
- "faable_machine": []
5936
- }
5937
- ],
5938
- "x-internal": true,
5939
- "responses": {
5940
- "200": {
5941
- "description": "Contact",
5942
- "content": {
5943
- "application/json": {
5944
- "schema": {
5945
- "type": "object",
5946
- "required": [
5947
- "id",
5948
- "team",
5949
- "contact_type",
5950
- "metadata",
5951
- "createdAt"
5952
- ],
5953
- "properties": {
5954
- "id": {
5955
- "type": "string",
5956
- "description": "Contact ID"
5957
- },
5958
- "team": {
5959
- "type": "string"
5960
- },
5961
- "contact_type": {
5962
- "enum": [
5963
- "primary",
5964
- "technical",
5965
- "security",
5966
- "emergency",
5967
- "billing"
5968
- ]
5969
- },
5970
- "email": {
5971
- "type": "string"
5972
- },
5973
- "phone": {
5974
- "type": "string"
5975
- },
5976
- "metadata": {
5977
- "type": "object",
5978
- "properties": {},
5979
- "additionalProperties": true,
5980
- "default": {}
5981
- },
5982
- "createdAt": {
5983
- "type": "string",
5984
- "description": "Contact creation date"
5985
- },
5986
- "updatedAt": {
5987
- "type": "string",
5988
- "description": "Contact updated date"
5989
- }
5990
- },
5991
- "description": "Contact",
5992
- "additionalProperties": false
5993
- }
5994
- }
5995
- }
5996
- }
5997
- }
5998
- },
5999
- "post": {
6000
- "operationId": "contact/update",
6001
- "summary": "Update Contact",
6002
- "tags": [
6003
- "contacts"
6004
- ],
6005
- "description": "Update Contact",
6006
- "requestBody": {
6007
- "required": true,
6008
- "content": {
6009
- "application/json": {
6010
- "schema": {
6011
- "type": "object",
6012
- "properties": {
6013
- "contact_type": {
6014
- "enum": [
6015
- "primary",
6016
- "technical",
6017
- "security",
6018
- "emergency",
6019
- "billing"
6020
- ]
6021
- },
6022
- "email": {
6023
- "type": "string"
6024
- },
6025
- "phone": {
6026
- "type": "string"
6027
- }
6028
- },
6029
- "additionalProperties": false
6030
- }
6031
- }
6032
- }
6033
- },
6034
- "parameters": [
6035
- {
6036
- "schema": {
6037
- "type": "string"
6038
- },
6039
- "in": "path",
6040
- "name": "id",
6041
- "required": true
6042
- }
6043
- ],
6044
- "security": [
6045
- {
6046
- "faable_user": [],
6047
- "faable_cli": [],
6048
- "apikey": [],
6049
- "faable_machine": []
6050
- }
6051
- ],
6052
- "x-internal": true,
6053
- "responses": {
6054
- "200": {
6055
- "description": "Contact",
6056
- "content": {
6057
- "application/json": {
6058
- "schema": {
6059
- "type": "object",
6060
- "required": [
6061
- "id",
6062
- "team",
6063
- "contact_type",
6064
- "metadata",
6065
- "createdAt"
6066
- ],
6067
- "properties": {
6068
- "id": {
6069
- "type": "string",
6070
- "description": "Contact ID"
6071
- },
6072
- "team": {
6073
- "type": "string"
6074
- },
6075
- "contact_type": {
6076
- "enum": [
6077
- "primary",
6078
- "technical",
6079
- "security",
6080
- "emergency",
6081
- "billing"
6082
- ]
6083
- },
6084
- "email": {
6085
- "type": "string"
6086
- },
6087
- "phone": {
6088
- "type": "string"
6089
- },
6090
- "metadata": {
6091
- "type": "object",
6092
- "properties": {},
6093
- "additionalProperties": true,
6094
- "default": {}
6095
- },
6096
- "createdAt": {
6097
- "type": "string",
6098
- "description": "Contact creation date"
6099
- },
6100
- "updatedAt": {
6101
- "type": "string",
6102
- "description": "Contact updated date"
6103
- }
6104
- },
6105
- "description": "Contact",
6106
- "additionalProperties": false
6107
- }
6108
- }
6109
- }
6110
- }
6111
- }
6112
- },
6113
- "delete": {
6114
- "operationId": "contact/delete",
6115
- "summary": "Delete Contact",
6116
- "tags": [
6117
- "contacts"
6118
- ],
6119
- "description": "Delete Contact",
6120
- "parameters": [
6121
- {
6122
- "schema": {
6123
- "type": "string"
6124
- },
6125
- "in": "path",
6126
- "name": "id",
6127
- "required": true
6128
- }
6129
- ],
6130
- "security": [
6131
- {
6132
- "faable_user": [],
6133
- "faable_cli": [],
6134
- "apikey": [],
6135
- "faable_machine": []
6136
- }
6137
- ],
6138
- "x-internal": true,
6139
- "responses": {
6140
- "200": {
6141
- "description": "Contact",
6142
- "content": {
6143
- "application/json": {
6144
- "schema": {
6145
- "type": "object",
6146
- "required": [
6147
- "id",
6148
- "team",
6149
- "contact_type",
6150
- "metadata",
6151
- "createdAt"
6152
- ],
6153
- "properties": {
6154
- "id": {
6155
- "type": "string",
6156
- "description": "Contact ID"
6157
- },
6158
- "team": {
6159
- "type": "string"
6160
- },
6161
- "contact_type": {
6162
- "enum": [
6163
- "primary",
6164
- "technical",
6165
- "security",
6166
- "emergency",
6167
- "billing"
6168
- ]
6169
- },
6170
- "email": {
6171
- "type": "string"
6172
- },
6173
- "phone": {
6174
- "type": "string"
6175
- },
6176
- "metadata": {
6177
- "type": "object",
6178
- "properties": {},
6179
- "additionalProperties": true,
6180
- "default": {}
6181
- },
6182
- "createdAt": {
6183
- "type": "string",
6184
- "description": "Contact creation date"
6185
- },
6186
- "updatedAt": {
6187
- "type": "string",
6188
- "description": "Contact updated date"
6189
- }
6190
- },
6191
- "description": "Contact",
6192
- "additionalProperties": false
6193
- }
6194
- }
6195
- }
6196
- }
6197
- }
6198
- }
6199
- },
6200
- "/apikey": {
6201
- "get": {
6202
- "operationId": "apikey/list",
6203
- "summary": "List Apikeys",
6204
- "tags": [
6205
- "apikeys"
6206
- ],
6207
- "description": "List Apikeys",
6208
- "parameters": [
6209
- {
6210
- "schema": {
6211
- "type": "number",
6212
- "minimum": 1,
6213
- "maximum": 200
6214
- },
6215
- "in": "query",
6216
- "name": "pageSize",
6217
- "required": false,
6218
- "description": "Number of items per page (max 200)"
6219
- },
6220
- {
6221
- "schema": {
6222
- "type": "string"
6223
- },
6224
- "in": "query",
6225
- "name": "cursor",
6226
- "required": false,
6227
- "description": "Cursor for next page"
6228
- },
6229
- {
6230
- "schema": {
6231
- "type": "string"
6232
- },
6233
- "in": "query",
6234
- "name": "next",
6235
- "required": false,
6236
- "description": "Cursor returned by the previous page"
6237
- },
6238
- {
6239
- "schema": {
6240
- "type": "string"
6241
- },
6242
- "in": "query",
6243
- "name": "query",
6244
- "required": false,
6245
- "description": "Filter using a FaableQL query"
6246
- }
6247
- ],
6248
- "security": [
6249
- {
6250
- "faable_user": [],
6251
- "faable_cli": [],
6252
- "apikey": [],
6253
- "faable_machine": []
6254
- }
6255
- ],
6256
- "x-internal": true,
6257
- "responses": {
6258
- "200": {
6259
- "description": "Default Response",
6260
- "content": {
6261
- "application/json": {
6262
- "schema": {
6263
- "type": "object",
6264
- "required": [
6265
- "next",
6266
- "results"
6267
- ],
6268
- "properties": {
6269
- "next": {
6270
- "anyOf": [
6271
- {
6272
- "type": "string"
6273
- },
6274
- {
6275
- "type": "null"
6276
- }
6277
- ]
6278
- },
6279
- "results": {
6280
- "type": "array",
6281
- "items": {
6282
- "$ref": "#/components/schemas/ApiKey"
6283
- }
6284
- }
6285
- },
6286
- "additionalProperties": false
6287
- }
6288
- }
6289
- }
6290
- }
6291
- }
6292
- },
6293
- "post": {
6294
- "operationId": "apikey/create",
6295
- "summary": "Create Apikey",
6296
- "tags": [
6297
- "apikeys"
6298
- ],
6299
- "description": "Create Apikey",
6300
- "requestBody": {
6301
- "required": true,
6302
- "content": {
6303
- "application/json": {
6304
- "schema": {
6305
- "type": "object",
6306
- "properties": {
6307
- "description": {
6308
- "type": "string"
6309
- }
6310
- },
6311
- "additionalProperties": false
6312
- }
6313
- }
6314
- }
6315
- },
6316
- "security": [
6317
- {
6318
- "faable_user": [],
6319
- "faable_cli": [],
6320
- "apikey": [],
6321
- "faable_machine": []
6322
- }
6323
- ],
6324
- "x-internal": true,
6325
- "responses": {
6326
- "201": {
6327
- "description": "ApiKey",
6328
- "content": {
6329
- "application/json": {
6330
- "schema": {
6331
- "type": "object",
6332
- "required": [
6333
- "id",
6334
- "team",
6335
- "apikey",
6336
- "user_id",
6337
- "metadata",
6338
- "createdAt"
6339
- ],
6340
- "properties": {
6341
- "id": {
6342
- "type": "string",
6343
- "description": "ApiKey ID"
6344
- },
6345
- "team": {
6346
- "type": "string"
6347
- },
6348
- "apikey": {
6349
- "type": "string"
6350
- },
6351
- "user_id": {
6352
- "type": "string"
6353
- },
6354
- "description": {
6355
- "type": "string"
6356
- },
6357
- "scopes": {
6358
- "type": "array",
6359
- "items": {
6360
- "type": "string"
6361
- }
6362
- },
6363
- "metadata": {
6364
- "type": "object",
6365
- "properties": {},
6366
- "additionalProperties": true,
6367
- "default": {}
6368
- },
6369
- "createdAt": {
6370
- "type": "string",
6371
- "description": "ApiKey creation date"
6372
- },
6373
- "updatedAt": {
6374
- "type": "string",
6375
- "description": "ApiKey updated date"
6376
- }
6377
- },
6378
- "description": "ApiKey",
6379
- "additionalProperties": false
6380
- }
6381
- }
6382
- }
6383
- }
6384
- }
6385
- }
6386
- },
6387
- "/apikey/{id}": {
6388
- "get": {
6389
- "operationId": "apikey/get",
6390
- "summary": "Get Apikey",
6391
- "tags": [
6392
- "apikeys"
6393
- ],
6394
- "description": "Get Apikey",
6395
- "parameters": [
6396
- {
6397
- "schema": {
6398
- "type": "string"
6399
- },
6400
- "in": "path",
6401
- "name": "id",
6402
- "required": true
6403
- }
6404
- ],
6405
- "security": [
6406
- {
6407
- "faable_user": [],
6408
- "faable_cli": [],
6409
- "apikey": [],
6410
- "faable_machine": []
6411
- }
6412
- ],
6413
- "x-internal": true,
6414
- "responses": {
6415
- "200": {
6416
- "description": "ApiKey",
6417
- "content": {
6418
- "application/json": {
6419
- "schema": {
6420
- "type": "object",
6421
- "required": [
6422
- "id",
6423
- "team",
6424
- "apikey",
6425
- "user_id",
6426
- "metadata",
6427
- "createdAt"
6428
- ],
6429
- "properties": {
6430
- "id": {
6431
- "type": "string",
6432
- "description": "ApiKey ID"
6433
- },
6434
- "team": {
6435
- "type": "string"
6436
- },
6437
- "apikey": {
6438
- "type": "string"
6439
- },
6440
- "user_id": {
6441
- "type": "string"
6442
- },
6443
- "description": {
6444
- "type": "string"
6445
- },
6446
- "scopes": {
6447
- "type": "array",
6448
- "items": {
6449
- "type": "string"
6450
- }
6451
- },
6452
- "metadata": {
6453
- "type": "object",
6454
- "properties": {},
6455
- "additionalProperties": true,
6456
- "default": {}
6457
- },
6458
- "createdAt": {
6459
- "type": "string",
6460
- "description": "ApiKey creation date"
6461
- },
6462
- "updatedAt": {
6463
- "type": "string",
6464
- "description": "ApiKey updated date"
6465
- }
6466
- },
6467
- "description": "ApiKey",
6468
- "additionalProperties": false
6469
- }
6470
- }
6471
- }
6472
- }
6473
- }
6474
- },
6475
- "post": {
6476
- "operationId": "apikey/update",
6477
- "summary": "Update Apikey",
6478
- "tags": [
6479
- "apikeys"
6480
- ],
6481
- "description": "Update Apikey",
6482
- "requestBody": {
6483
- "required": true,
6484
- "content": {
6485
- "application/json": {
6486
- "schema": {
6487
- "type": "object",
6488
- "properties": {
6489
- "description": {
6490
- "type": "string"
6491
- }
6492
- },
6493
- "additionalProperties": false
6494
- }
6495
- }
6496
- }
6497
- },
6498
- "parameters": [
6499
- {
6500
- "schema": {
6501
- "type": "string"
6502
- },
6503
- "in": "path",
6504
- "name": "id",
6505
- "required": true
6506
- }
6507
- ],
6508
- "security": [
6509
- {
6510
- "faable_user": [],
6511
- "faable_cli": [],
6512
- "apikey": [],
6513
- "faable_machine": []
6514
- }
6515
- ],
6516
- "x-internal": true,
6517
- "responses": {
6518
- "200": {
6519
- "description": "ApiKey",
6520
- "content": {
6521
- "application/json": {
6522
- "schema": {
6523
- "type": "object",
6524
- "required": [
6525
- "id",
6526
- "team",
6527
- "apikey",
6528
- "user_id",
6529
- "metadata",
6530
- "createdAt"
6531
- ],
6532
- "properties": {
6533
- "id": {
6534
- "type": "string",
6535
- "description": "ApiKey ID"
6536
- },
6537
- "team": {
6538
- "type": "string"
6539
- },
6540
- "apikey": {
6541
- "type": "string"
6542
- },
6543
- "user_id": {
6544
- "type": "string"
6545
- },
6546
- "description": {
6547
- "type": "string"
6548
- },
6549
- "scopes": {
6550
- "type": "array",
6551
- "items": {
6552
- "type": "string"
6553
- }
6554
- },
6555
- "metadata": {
6556
- "type": "object",
6557
- "properties": {},
6558
- "additionalProperties": true,
6559
- "default": {}
6560
- },
6561
- "createdAt": {
6562
- "type": "string",
6563
- "description": "ApiKey creation date"
6564
- },
6565
- "updatedAt": {
6566
- "type": "string",
6567
- "description": "ApiKey updated date"
6568
- }
6569
- },
6570
- "description": "ApiKey",
6571
- "additionalProperties": false
6572
- }
6573
- }
6574
- }
6575
- }
6576
- }
6577
- },
6578
- "delete": {
6579
- "operationId": "apikey/delete",
6580
- "summary": "Delete Apikey",
6581
- "tags": [
6582
- "apikeys"
6583
- ],
6584
- "description": "Delete Apikey",
6585
- "parameters": [
6586
- {
6587
- "schema": {
6588
- "type": "string"
6589
- },
6590
- "in": "path",
6591
- "name": "id",
6592
- "required": true
6593
- }
6594
- ],
6595
- "security": [
6596
- {
6597
- "faable_user": [],
6598
- "faable_cli": [],
6599
- "apikey": [],
6600
- "faable_machine": []
6601
- }
6602
- ],
6603
- "x-internal": true,
6604
- "responses": {
6605
- "200": {
6606
- "description": "ApiKey",
6607
- "content": {
6608
- "application/json": {
6609
- "schema": {
6610
- "type": "object",
6611
- "required": [
6612
- "id",
6613
- "team",
6614
- "apikey",
6615
- "user_id",
6616
- "metadata",
6617
- "createdAt"
6618
- ],
6619
- "properties": {
6620
- "id": {
6621
- "type": "string",
6622
- "description": "ApiKey ID"
6623
- },
6624
- "team": {
6625
- "type": "string"
6626
- },
6627
- "apikey": {
6628
- "type": "string"
6629
- },
6630
- "user_id": {
6631
- "type": "string"
6632
- },
6633
- "description": {
6634
- "type": "string"
6635
- },
6636
- "scopes": {
6637
- "type": "array",
6638
- "items": {
6639
- "type": "string"
6640
- }
6641
- },
6642
- "metadata": {
6643
- "type": "object",
6644
- "properties": {},
6645
- "additionalProperties": true,
6646
- "default": {}
6647
- },
6648
- "createdAt": {
6649
- "type": "string",
6650
- "description": "ApiKey creation date"
6651
- },
6652
- "updatedAt": {
6653
- "type": "string",
6654
- "description": "ApiKey updated date"
6655
- }
6656
- },
6657
- "description": "ApiKey",
6658
- "additionalProperties": false
6659
- }
6660
- }
6661
- }
6662
- }
6663
- }
6664
- }
6665
- },
6666
- "/project-favorites": {
6667
- "get": {
6668
- "operationId": "project_favorites/get",
6669
- "summary": "Get favorite and recent projects",
6670
- "tags": [
6671
- "project-favorites"
6672
- ],
6673
- "description": "Get the current user's favorite and recent projects",
6674
- "security": [
6675
- {
6676
- "faable_user": [],
6677
- "faable_cli": [],
6678
- "apikey": [],
6679
- "faable_machine": []
6680
- }
6681
- ],
6682
- "x-internal": true,
6683
- "responses": {
6684
- "200": {
6685
- "description": "ProjectFavorites",
6686
- "content": {
6687
- "application/json": {
6688
- "schema": {
6689
- "$ref": "#/components/schemas/ProjectFavorites"
6690
- }
6691
- }
6692
- }
6693
- }
6694
- }
6695
- },
6696
- "put": {
6697
- "operationId": "project_favorites/set",
6698
- "summary": "Set favorite and recent projects",
6699
- "tags": [
6700
- "project-favorites"
6701
- ],
6702
- "description": "Replace the current user's favorite and recent projects with the provided lists",
6703
- "requestBody": {
6704
- "required": true,
6705
- "content": {
6706
- "application/json": {
6707
- "schema": {
6708
- "type": "object",
6709
- "required": [
6710
- "favorites",
6711
- "recents"
6712
- ],
6713
- "properties": {
6714
- "favorites": {
6715
- "type": "array",
6716
- "items": {
6717
- "type": "string"
6718
- }
6719
- },
6720
- "recents": {
6721
- "type": "array",
6722
- "items": {
6723
- "type": "string"
6724
- }
6725
- }
6726
- },
6727
- "additionalProperties": false
6728
- }
6729
- }
6730
- }
6731
- },
6732
- "security": [
6733
- {
6734
- "faable_user": [],
6735
- "faable_cli": [],
6736
- "apikey": [],
6737
- "faable_machine": []
6738
- }
6739
- ],
6740
- "x-internal": true,
6741
- "responses": {
6742
- "200": {
6743
- "description": "ProjectFavorites",
6744
- "content": {
6745
- "application/json": {
6746
- "schema": {
6747
- "$ref": "#/components/schemas/ProjectFavorites"
6748
- }
6749
- }
6750
- }
6751
- }
6752
- }
6753
- }
6754
- },
6755
- "/status/{related_id}": {
6756
- "post": {
6757
- "operationId": "status/update",
6758
- "summary": "Update status resource",
6759
- "tags": [
6760
- "status"
6761
- ],
6762
- "description": "Update status resource",
6763
- "requestBody": {
6764
- "required": true,
6765
- "content": {
6766
- "application/json": {
6767
- "schema": {
6768
- "$ref": "#/components/schemas/StatusUpdate"
6769
- }
6770
- }
6771
- }
6772
- },
6773
- "parameters": [
6774
- {
6775
- "schema": {
6776
- "type": "string"
6777
- },
6778
- "in": "path",
6779
- "name": "related_id",
6780
- "required": true
6781
- }
6782
- ],
6783
- "security": [
6784
- {
6785
- "faable_user": [],
6786
- "faable_cli": [],
6787
- "apikey": [],
6788
- "faable_machine": []
6789
- }
6790
- ],
6791
- "x-internal": true,
6792
- "responses": {
6793
- "200": {
6794
- "description": "Default Response"
6795
- }
6796
- }
6797
- }
6798
- },
6799
- "/github/setup": {
6800
- "get": {
6801
- "operationId": "github/setup",
6802
- "summary": "Handle GitHub App setup and redirect to Faable Auth",
6803
- "tags": [
6804
- "github"
6805
- ],
6806
- "description": "Handle GitHub App setup and redirect to Faable Auth",
6807
- "parameters": [
6808
- {
6809
- "schema": {
6810
- "type": "string"
6811
- },
6812
- "in": "query",
6813
- "name": "installation_id",
6814
- "required": false
6815
- },
6816
- {
6817
- "schema": {
6818
- "type": "string"
6819
- },
6820
- "in": "query",
6821
- "name": "setup_action",
6822
- "required": false
6823
- },
6824
- {
6825
- "schema": {
6826
- "type": "string"
6827
- },
6828
- "in": "query",
6829
- "name": "state",
6830
- "required": false
6831
- }
6832
- ],
6833
- "x-internal": true,
6834
- "responses": {
6835
- "200": {
6836
- "description": "Default Response"
6837
- }
6838
- }
6839
- }
6840
- },
6841
- "/auth/github-oidc": {
6842
- "post": {
6843
- "operationId": "auth/github_oidc",
6844
- "summary": "Exchange github oidc token",
6845
- "tags": [
6846
- "github"
5594
+ "github"
6847
5595
  ],
6848
5596
  "description": "Exchange github oidc token",
6849
5597
  "requestBody": {
@@ -6875,136 +5623,6 @@
6875
5623
  }
6876
5624
  }
6877
5625
  },
6878
- "/github/installations": {
6879
- "get": {
6880
- "operationId": "github/installations",
6881
- "summary": "List GitHub installations (organizations)",
6882
- "tags": [
6883
- "github"
6884
- ],
6885
- "description": "List the GitHub organizations/accounts where the Faable GitHub App is installed for the authenticated user.",
6886
- "security": [
6887
- {
6888
- "faable_user": [],
6889
- "faable_cli": [],
6890
- "apikey": [],
6891
- "faable_machine": []
6892
- }
6893
- ],
6894
- "x-internal": true,
6895
- "responses": {
6896
- "200": {
6897
- "description": "Default Response",
6898
- "content": {
6899
- "application/json": {
6900
- "schema": {
6901
- "type": "object",
6902
- "required": [
6903
- "installations"
6904
- ],
6905
- "properties": {
6906
- "installations": {
6907
- "type": "array",
6908
- "items": {
6909
- "$ref": "#/components/schemas/GithubInstallation"
6910
- }
6911
- }
6912
- }
6913
- }
6914
- }
6915
- }
6916
- }
6917
- }
6918
- }
6919
- },
6920
- "/github/installations/{installation_id}/repositories": {
6921
- "get": {
6922
- "operationId": "github/installation_repositories",
6923
- "summary": "List repositories for an installation",
6924
- "tags": [
6925
- "github"
6926
- ],
6927
- "description": "List the top repositories for a GitHub installation (organization), optionally filtered by a search term.",
6928
- "parameters": [
6929
- {
6930
- "schema": {
6931
- "type": "string"
6932
- },
6933
- "in": "query",
6934
- "name": "q",
6935
- "required": false,
6936
- "description": "Filter repos by name"
6937
- },
6938
- {
6939
- "schema": {
6940
- "type": "integer",
6941
- "minimum": 1,
6942
- "maximum": 100,
6943
- "default": 10
6944
- },
6945
- "in": "query",
6946
- "name": "limit",
6947
- "required": false
6948
- },
6949
- {
6950
- "schema": {
6951
- "type": "string"
6952
- },
6953
- "in": "path",
6954
- "name": "installation_id",
6955
- "required": true
6956
- }
6957
- ],
6958
- "security": [
6959
- {
6960
- "faable_user": [],
6961
- "faable_cli": [],
6962
- "apikey": [],
6963
- "faable_machine": []
6964
- }
6965
- ],
6966
- "x-internal": true,
6967
- "responses": {
6968
- "200": {
6969
- "description": "Default Response",
6970
- "content": {
6971
- "application/json": {
6972
- "schema": {
6973
- "type": "object",
6974
- "required": [
6975
- "repositories"
6976
- ],
6977
- "properties": {
6978
- "repositories": {
6979
- "type": "array",
6980
- "items": {
6981
- "$ref": "#/components/schemas/GithubRepo"
6982
- }
6983
- }
6984
- }
6985
- }
6986
- }
6987
- }
6988
- }
6989
- }
6990
- }
6991
- },
6992
- "/github/webhook": {
6993
- "post": {
6994
- "operationId": "github/webhook",
6995
- "summary": "Handle GitHub webhooks for push and installation events",
6996
- "tags": [
6997
- "github"
6998
- ],
6999
- "description": "Handle GitHub webhooks for push and installation events",
7000
- "x-internal": true,
7001
- "responses": {
7002
- "200": {
7003
- "description": "Default Response"
7004
- }
7005
- }
7006
- }
7007
- },
7008
5626
  "/usage/summary": {
7009
5627
  "get": {
7010
5628
  "operationId": "usage/summary",