@curviate/sdk 0.41.0 → 0.42.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/CHANGELOG.md +30 -0
- package/README.md +25 -1
- package/dist/index.d.ts +1362 -28
- package/dist/index.js +175 -3
- package/package.json +1 -1
- package/src/generated/types.ts +1240 -84
package/src/generated/types.ts
CHANGED
|
@@ -1477,7 +1477,7 @@ export interface paths {
|
|
|
1477
1477
|
put?: never;
|
|
1478
1478
|
/**
|
|
1479
1479
|
* Create a post
|
|
1480
|
-
* @description Publishes a post
|
|
1480
|
+
* @description Publishes a post now; JSON, files as base64. Text is never stored. A publish record (account, post id, time) is kept, listed by GET /v1/drafts?status=published and removed when the post is deleted. To publish later, create a Draft at POST /v1/drafts.
|
|
1481
1481
|
*/
|
|
1482
1482
|
post: operations["postV1AccountIdPosts"];
|
|
1483
1483
|
delete?: never;
|
|
@@ -1598,6 +1598,98 @@ export interface paths {
|
|
|
1598
1598
|
patch?: never;
|
|
1599
1599
|
trace?: never;
|
|
1600
1600
|
};
|
|
1601
|
+
"/v1/drafts": {
|
|
1602
|
+
parameters: {
|
|
1603
|
+
query?: never;
|
|
1604
|
+
header?: never;
|
|
1605
|
+
path?: never;
|
|
1606
|
+
cookie?: never;
|
|
1607
|
+
};
|
|
1608
|
+
/**
|
|
1609
|
+
* List drafts
|
|
1610
|
+
* @description Lists your Drafts and, with status=published, publish records (account, post id, time; never Drafts). Filter by status, account (or none) and a [from, to) range on each item's own date.
|
|
1611
|
+
*/
|
|
1612
|
+
get: operations["getV1Drafts"];
|
|
1613
|
+
put?: never;
|
|
1614
|
+
/**
|
|
1615
|
+
* Create a draft
|
|
1616
|
+
* @description Stores an unpublished post until it is published or deleted. Every field is optional, the account too; a Draft has at most one account and can move between yours. Up to 50 Drafts and 2 GiB of media per account, and per no-account. A retry creates a second Draft.
|
|
1617
|
+
*/
|
|
1618
|
+
post: operations["postV1Drafts"];
|
|
1619
|
+
delete?: never;
|
|
1620
|
+
options?: never;
|
|
1621
|
+
head?: never;
|
|
1622
|
+
patch?: never;
|
|
1623
|
+
trace?: never;
|
|
1624
|
+
};
|
|
1625
|
+
"/v1/drafts/{id}": {
|
|
1626
|
+
parameters: {
|
|
1627
|
+
query?: never;
|
|
1628
|
+
header?: never;
|
|
1629
|
+
path?: never;
|
|
1630
|
+
cookie?: never;
|
|
1631
|
+
};
|
|
1632
|
+
/**
|
|
1633
|
+
* Retrieve a draft
|
|
1634
|
+
* @description Returns one Draft, with a fresh signed link (valid 1 hour) for each attachment.
|
|
1635
|
+
*/
|
|
1636
|
+
get: operations["getV1DraftsId"];
|
|
1637
|
+
put?: never;
|
|
1638
|
+
post?: never;
|
|
1639
|
+
/**
|
|
1640
|
+
* Delete a draft
|
|
1641
|
+
* @description Deletes the Draft and its stored media.
|
|
1642
|
+
*/
|
|
1643
|
+
delete: operations["deleteV1DraftsId"];
|
|
1644
|
+
options?: never;
|
|
1645
|
+
head?: never;
|
|
1646
|
+
/**
|
|
1647
|
+
* Update a draft
|
|
1648
|
+
* @description Partial update: an omitted field is left as is, null clears it. attachments replaces the whole list ({id} keeps an existing file, a base64 object adds one, anything left out is deleted). account_id moves the Draft to another of your accounts. Editing a failed Draft clears its failure.
|
|
1649
|
+
*/
|
|
1650
|
+
patch: operations["patchV1DraftsId"];
|
|
1651
|
+
trace?: never;
|
|
1652
|
+
};
|
|
1653
|
+
"/v1/drafts/{id}/publish": {
|
|
1654
|
+
parameters: {
|
|
1655
|
+
query?: never;
|
|
1656
|
+
header?: never;
|
|
1657
|
+
path?: never;
|
|
1658
|
+
cookie?: never;
|
|
1659
|
+
};
|
|
1660
|
+
get?: never;
|
|
1661
|
+
put?: never;
|
|
1662
|
+
/**
|
|
1663
|
+
* Publish a draft now
|
|
1664
|
+
* @description Publishes the Draft now, under the same rules as create post, safety limits included. Success deletes the Draft and its media, writes a publish record and returns the post id, no webhook. Failure leaves the Draft unchanged.
|
|
1665
|
+
*/
|
|
1666
|
+
post: operations["postV1DraftsIdPublish"];
|
|
1667
|
+
delete?: never;
|
|
1668
|
+
options?: never;
|
|
1669
|
+
head?: never;
|
|
1670
|
+
patch?: never;
|
|
1671
|
+
trace?: never;
|
|
1672
|
+
};
|
|
1673
|
+
"/v1/drafts/{id}/attachments": {
|
|
1674
|
+
parameters: {
|
|
1675
|
+
query?: never;
|
|
1676
|
+
header?: never;
|
|
1677
|
+
path?: never;
|
|
1678
|
+
cookie?: never;
|
|
1679
|
+
};
|
|
1680
|
+
get?: never;
|
|
1681
|
+
put?: never;
|
|
1682
|
+
/**
|
|
1683
|
+
* Upload a draft attachment
|
|
1684
|
+
* @description Adds one file to the Draft as the raw request body, for media too large to send inline: a video (MP4, up to 50 MiB), a PDF (up to 50 MiB) or an image. Content-Type is the file's type, Content-Length is required; kept only if it arrives whole. Same media rules as inline.
|
|
1685
|
+
*/
|
|
1686
|
+
post: operations["postV1DraftsIdAttachments"];
|
|
1687
|
+
delete?: never;
|
|
1688
|
+
options?: never;
|
|
1689
|
+
head?: never;
|
|
1690
|
+
patch?: never;
|
|
1691
|
+
trace?: never;
|
|
1692
|
+
};
|
|
1601
1693
|
"/v1/{account_id}/recruiter/profiles/{user_id}": {
|
|
1602
1694
|
parameters: {
|
|
1603
1695
|
query?: never;
|
|
@@ -2513,7 +2605,7 @@ export interface paths {
|
|
|
2513
2605
|
put?: never;
|
|
2514
2606
|
/**
|
|
2515
2607
|
* Create a webhook
|
|
2516
|
-
* @description Registers a new webhook endpoint to receive real-time events. Choose a source (messaging / user / account_status) and supply the target URL. The HMAC signing secret is returned exactly once in the 201 response, store it securely.
|
|
2608
|
+
* @description Registers a new webhook endpoint to receive real-time events. Choose a source (messaging / user / account_status / post) and supply the target URL. The HMAC signing secret is returned exactly once in the 201 response, store it securely.
|
|
2517
2609
|
*/
|
|
2518
2610
|
post: operations["postV1Webhooks"];
|
|
2519
2611
|
delete?: never;
|
|
@@ -2531,7 +2623,7 @@ export interface paths {
|
|
|
2531
2623
|
};
|
|
2532
2624
|
/**
|
|
2533
2625
|
* List webhook event types
|
|
2534
|
-
* @description Returns the complete canonical event catalogue (
|
|
2626
|
+
* @description Returns the complete canonical event catalogue (29 events) grouped by source: messaging (7), user (2), account_status (15), post (2), plus 3 recruiter/sales_nav events. A local catalogue read: no platform call is made.
|
|
2535
2627
|
*/
|
|
2536
2628
|
get: operations["getV1WebhooksEvents"];
|
|
2537
2629
|
put?: never;
|
|
@@ -19744,24 +19836,31 @@ export interface operations {
|
|
|
19744
19836
|
};
|
|
19745
19837
|
};
|
|
19746
19838
|
};
|
|
19747
|
-
|
|
19839
|
+
getV1Drafts: {
|
|
19748
19840
|
parameters: {
|
|
19749
19841
|
query?: {
|
|
19750
|
-
/** @description
|
|
19751
|
-
|
|
19842
|
+
/** @description Comma list of draft, scheduled, failed, published. Default draft,scheduled,failed. published items are publish records, never Drafts. */
|
|
19843
|
+
status?: ("draft" | "scheduled" | "failed" | "published")[];
|
|
19844
|
+
/** @description Only items on this account (acc_...), or none for Drafts with no account. Omitted: all of yours. */
|
|
19845
|
+
account_id?: string;
|
|
19846
|
+
/** @description Only items whose date is at or after this instant (inclusive). */
|
|
19847
|
+
from?: string;
|
|
19848
|
+
/** @description Only items whose date is before this instant (exclusive). */
|
|
19849
|
+
to?: string;
|
|
19850
|
+
/** @description Sort by the item's date: desc (default) or asc. */
|
|
19851
|
+
order?: "desc" | "asc";
|
|
19852
|
+
/** @description Max items per page (1-100, default 20). */
|
|
19853
|
+
limit?: number;
|
|
19854
|
+
/** @description Pagination cursor from a previous response; pass it back verbatim with the same filters. */
|
|
19855
|
+
cursor?: string;
|
|
19752
19856
|
};
|
|
19753
19857
|
header?: never;
|
|
19754
|
-
path
|
|
19755
|
-
/** @description The account ID (`acc_...`) whose Recruiter seat resolves the profile view. */
|
|
19756
|
-
account_id: string;
|
|
19757
|
-
/** @description The target profile: 'me', a public identifier, or a member ID. */
|
|
19758
|
-
user_id: string;
|
|
19759
|
-
};
|
|
19858
|
+
path?: never;
|
|
19760
19859
|
cookie?: never;
|
|
19761
19860
|
};
|
|
19762
19861
|
requestBody?: never;
|
|
19763
19862
|
responses: {
|
|
19764
|
-
/** @description
|
|
19863
|
+
/** @description Drafts and publish records, ordered by each item's own date: scheduled_at for scheduled, failure.failed_at for failed, published_at for published, updated_at for draft. */
|
|
19765
19864
|
200: {
|
|
19766
19865
|
headers: {
|
|
19767
19866
|
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
@@ -19774,78 +19873,1111 @@ export interface operations {
|
|
|
19774
19873
|
* @description Response type discriminator.
|
|
19775
19874
|
* @enum {string}
|
|
19776
19875
|
*/
|
|
19777
|
-
object: "
|
|
19778
|
-
/** @description
|
|
19779
|
-
|
|
19876
|
+
object: "draft_list";
|
|
19877
|
+
/** @description Each item is a draft (object: draft) or a publish record (object: publish_record). Publish records are never Drafts. */
|
|
19878
|
+
items: ({
|
|
19879
|
+
/**
|
|
19880
|
+
* @description Response type discriminator.
|
|
19881
|
+
* @enum {string}
|
|
19882
|
+
*/
|
|
19883
|
+
object: "draft";
|
|
19884
|
+
/** @description Draft id (drf_...). */
|
|
19885
|
+
id: string;
|
|
19886
|
+
/** @description The account this Draft will publish as, or null for none yet. */
|
|
19887
|
+
account_id: string | null;
|
|
19888
|
+
/**
|
|
19889
|
+
* @description Derived: failed if failure is set, else scheduled if scheduled_at is set, else draft.
|
|
19890
|
+
* @enum {string}
|
|
19891
|
+
*/
|
|
19892
|
+
status: "draft" | "scheduled" | "failed";
|
|
19893
|
+
/** @description Post body text. May be empty or null while drafting. */
|
|
19894
|
+
text: string | null;
|
|
19895
|
+
/** @description Media, in post order. */
|
|
19896
|
+
attachments: {
|
|
19897
|
+
/** @description Attachment id (att_...). Send {id} in a PATCH attachments list to keep it. */
|
|
19898
|
+
id: string;
|
|
19899
|
+
/** @description The file's type. */
|
|
19900
|
+
content_type: string;
|
|
19901
|
+
/** @description File name. */
|
|
19902
|
+
filename: string;
|
|
19903
|
+
/** @description Stored size in bytes. */
|
|
19904
|
+
size_bytes: number;
|
|
19905
|
+
/** @description Signed download link to the stored file, valid for 1 hour. Read the Draft again for a fresh one. Null when the stored file is unavailable. */
|
|
19906
|
+
url: string | null;
|
|
19907
|
+
}[];
|
|
19908
|
+
/** @description A post to quote or repost when published. */
|
|
19909
|
+
quoted_post_id?: string | null;
|
|
19910
|
+
/**
|
|
19911
|
+
* @description Who can read the post once published.
|
|
19912
|
+
* @enum {string|null}
|
|
19913
|
+
*/
|
|
19914
|
+
can_read?: "anyone" | "relations_only" | null;
|
|
19915
|
+
/**
|
|
19916
|
+
* @description Who may comment once published.
|
|
19917
|
+
* @enum {string|null}
|
|
19918
|
+
*/
|
|
19919
|
+
can_comment?: "anyone" | "relations_only" | "no_one" | null;
|
|
19920
|
+
/** @description Company page id to post as. */
|
|
19921
|
+
post_as?: string | null;
|
|
19922
|
+
/** @description When Curviate publishes the Draft (UTC, whole minute), or null. It goes out up to 20 seconds after this time. A failed Draft has null here; the time that failed is failure.scheduled_at. */
|
|
19923
|
+
scheduled_at: string | null;
|
|
19924
|
+
/** @description Why the last scheduled publish failed; present on failed Drafts only. */
|
|
19925
|
+
failure: {
|
|
19926
|
+
/**
|
|
19927
|
+
* @description Why it failed. outcome_unknown: the platform gave no usable answer, so the post may be live; check the account's posts before you publish again. missed: Curviate could not start within an hour of the time. platform_error and rate_limited: 3 attempts over about 15 minutes all failed.
|
|
19928
|
+
* @enum {string}
|
|
19929
|
+
*/
|
|
19930
|
+
code?: "platform_error" | "rate_limited" | "account_unavailable" | "media_rejected" | "budget_exhausted" | "outside_activity_window" | "no_active_seat" | "not_publishable" | "platform_rejected" | "missed" | "outcome_unknown";
|
|
19931
|
+
/** @description What went wrong and what to do next. Never contains post text. */
|
|
19932
|
+
message?: string;
|
|
19933
|
+
/** @description When it failed. */
|
|
19934
|
+
failed_at?: string;
|
|
19935
|
+
/** @description The time that failed to publish. */
|
|
19936
|
+
scheduled_at?: string;
|
|
19937
|
+
} | null;
|
|
19938
|
+
/** @description Creation time. */
|
|
19939
|
+
created_at: string;
|
|
19940
|
+
/** @description Last change. */
|
|
19941
|
+
updated_at: string;
|
|
19942
|
+
} | {
|
|
19943
|
+
/**
|
|
19944
|
+
* @description Response type discriminator.
|
|
19945
|
+
* @enum {string}
|
|
19946
|
+
*/
|
|
19947
|
+
object: "publish_record";
|
|
19948
|
+
/** @description The published post's id, or null when the platform returned none. */
|
|
19949
|
+
post_id: string | null;
|
|
19950
|
+
/** @description The account that published it. */
|
|
19951
|
+
account_id: string;
|
|
19952
|
+
/** @description When it was published. */
|
|
19953
|
+
published_at: string;
|
|
19954
|
+
/** @description The Draft it came from, or null for a post created directly. */
|
|
19955
|
+
draft_id: string | null;
|
|
19956
|
+
})[];
|
|
19957
|
+
/** @description Pass back as cursor for the next page; null on the last page. */
|
|
19958
|
+
cursor: string | null;
|
|
19959
|
+
safety_warning?: components["schemas"]["SafetyWarning"];
|
|
19960
|
+
};
|
|
19961
|
+
};
|
|
19962
|
+
};
|
|
19963
|
+
/** @description Invalid filter: an unknown status, a malformed date or cursor, or limit out of range. */
|
|
19964
|
+
400: {
|
|
19965
|
+
headers: {
|
|
19966
|
+
[name: string]: unknown;
|
|
19967
|
+
};
|
|
19968
|
+
content: {
|
|
19969
|
+
"application/json": components["schemas"]["Error"];
|
|
19970
|
+
};
|
|
19971
|
+
};
|
|
19972
|
+
/** @description Missing or invalid API key. */
|
|
19973
|
+
401: {
|
|
19974
|
+
headers: {
|
|
19975
|
+
[name: string]: unknown;
|
|
19976
|
+
};
|
|
19977
|
+
content: {
|
|
19978
|
+
"application/json": components["schemas"]["Error"];
|
|
19979
|
+
};
|
|
19980
|
+
};
|
|
19981
|
+
/** @description Rate limited, slow down and retry after the hinted delay. */
|
|
19982
|
+
429: {
|
|
19983
|
+
headers: {
|
|
19984
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
19985
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
19986
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
19987
|
+
[name: string]: unknown;
|
|
19988
|
+
};
|
|
19989
|
+
content: {
|
|
19990
|
+
"application/json": components["schemas"]["Error"];
|
|
19991
|
+
};
|
|
19992
|
+
};
|
|
19993
|
+
};
|
|
19994
|
+
};
|
|
19995
|
+
postV1Drafts: {
|
|
19996
|
+
parameters: {
|
|
19997
|
+
query?: never;
|
|
19998
|
+
header?: never;
|
|
19999
|
+
path?: never;
|
|
20000
|
+
cookie?: never;
|
|
20001
|
+
};
|
|
20002
|
+
requestBody: {
|
|
20003
|
+
content: {
|
|
20004
|
+
"application/json": {
|
|
20005
|
+
/** @description The account (acc_...) this Draft will publish as, or null for none yet. A Draft belongs to at most one account. */
|
|
20006
|
+
account_id?: string | null;
|
|
20007
|
+
/** @description When Curviate publishes this Draft: an ISO 8601 date-time with an offset, at least 5 minutes and at most 365 days ahead, stored in UTC truncated to the minute. Scheduling needs an account and text. Curviate publishes it up to 20 seconds after this time, and keeps scheduled posts on one account at least 5 minutes apart. null unschedules. */
|
|
20008
|
+
scheduled_at?: string | null;
|
|
20009
|
+
/** @description Post body text, up to 3000 characters. May be empty while drafting; publishing needs at least one character. */
|
|
20010
|
+
text?: string | null;
|
|
20011
|
+
/** @description A post to quote or repost when published, the same as on create post. Checked at publish time. */
|
|
20012
|
+
quoted_post_id?: string | null;
|
|
20013
|
+
/**
|
|
20014
|
+
* @description Who can read the post once published.
|
|
20015
|
+
* @enum {string|null}
|
|
20016
|
+
*/
|
|
20017
|
+
can_read?: "anyone" | "relations_only" | null;
|
|
20018
|
+
/**
|
|
20019
|
+
* @description Who may comment once published.
|
|
20020
|
+
* @enum {string|null}
|
|
20021
|
+
*/
|
|
20022
|
+
can_comment?: "anyone" | "relations_only" | "no_one" | null;
|
|
20023
|
+
/** @description Company page id to post as; the account must administer it. Checked at publish time. */
|
|
20024
|
+
post_as?: string | null;
|
|
20025
|
+
/** @description Media as base64 objects: up to 20 images, or one MP4 video, or one PDF, never mixed. 5 MiB per file inline. */
|
|
20026
|
+
attachments?: {
|
|
20027
|
+
/** @description Base64-encoded file bytes. */
|
|
20028
|
+
content: string;
|
|
20029
|
+
/** @description The file's type: image/jpeg, image/png, image/gif, image/webp, video/mp4 or application/pdf. */
|
|
20030
|
+
content_type: string;
|
|
20031
|
+
/** @description File name. */
|
|
20032
|
+
filename: string;
|
|
20033
|
+
}[];
|
|
20034
|
+
};
|
|
20035
|
+
};
|
|
20036
|
+
};
|
|
20037
|
+
responses: {
|
|
20038
|
+
/** @description Draft created. With scheduled_at, status is scheduled and Curviate publishes it on its own. With scheduled_at, the response carries safety_warning (reason activity_window) when the time is outside the account's activity window and its posture is warn; under enforce the request is refused instead (429 BUDGET_EXHAUSTED, reason activity_window) and nothing is saved. */
|
|
20039
|
+
201: {
|
|
20040
|
+
headers: {
|
|
20041
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20042
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20043
|
+
[name: string]: unknown;
|
|
20044
|
+
};
|
|
20045
|
+
content: {
|
|
20046
|
+
"application/json": {
|
|
19780
20047
|
/**
|
|
19781
|
-
* @description
|
|
20048
|
+
* @description Response type discriminator.
|
|
19782
20049
|
* @enum {string}
|
|
19783
20050
|
*/
|
|
19784
|
-
|
|
19785
|
-
/** @description
|
|
19786
|
-
|
|
20051
|
+
object: "draft";
|
|
20052
|
+
/** @description Draft id (drf_...). */
|
|
20053
|
+
id: string;
|
|
20054
|
+
/** @description The account this Draft will publish as, or null for none yet. */
|
|
20055
|
+
account_id: string | null;
|
|
19787
20056
|
/**
|
|
19788
|
-
* @description
|
|
20057
|
+
* @description Derived: failed if failure is set, else scheduled if scheduled_at is set, else draft.
|
|
19789
20058
|
* @enum {string}
|
|
19790
20059
|
*/
|
|
19791
|
-
|
|
19792
|
-
/** @description
|
|
19793
|
-
|
|
19794
|
-
/** @description
|
|
19795
|
-
|
|
19796
|
-
|
|
19797
|
-
|
|
19798
|
-
|
|
19799
|
-
|
|
19800
|
-
|
|
19801
|
-
|
|
19802
|
-
|
|
19803
|
-
|
|
19804
|
-
|
|
19805
|
-
|
|
19806
|
-
|
|
19807
|
-
|
|
19808
|
-
|
|
19809
|
-
|
|
20060
|
+
status: "draft" | "scheduled" | "failed";
|
|
20061
|
+
/** @description Post body text. May be empty or null while drafting. */
|
|
20062
|
+
text: string | null;
|
|
20063
|
+
/** @description Media, in post order. */
|
|
20064
|
+
attachments: {
|
|
20065
|
+
/** @description Attachment id (att_...). Send {id} in a PATCH attachments list to keep it. */
|
|
20066
|
+
id: string;
|
|
20067
|
+
/** @description The file's type. */
|
|
20068
|
+
content_type: string;
|
|
20069
|
+
/** @description File name. */
|
|
20070
|
+
filename: string;
|
|
20071
|
+
/** @description Stored size in bytes. */
|
|
20072
|
+
size_bytes: number;
|
|
20073
|
+
/** @description Signed download link to the stored file, valid for 1 hour. Read the Draft again for a fresh one. Null when the stored file is unavailable. */
|
|
20074
|
+
url: string | null;
|
|
20075
|
+
}[];
|
|
20076
|
+
/** @description A post to quote or repost when published. */
|
|
20077
|
+
quoted_post_id?: string | null;
|
|
20078
|
+
/**
|
|
20079
|
+
* @description Who can read the post once published.
|
|
20080
|
+
* @enum {string|null}
|
|
20081
|
+
*/
|
|
20082
|
+
can_read?: "anyone" | "relations_only" | null;
|
|
20083
|
+
/**
|
|
20084
|
+
* @description Who may comment once published.
|
|
20085
|
+
* @enum {string|null}
|
|
20086
|
+
*/
|
|
20087
|
+
can_comment?: "anyone" | "relations_only" | "no_one" | null;
|
|
20088
|
+
/** @description Company page id to post as. */
|
|
20089
|
+
post_as?: string | null;
|
|
20090
|
+
/** @description When Curviate publishes the Draft (UTC, whole minute), or null. It goes out up to 20 seconds after this time. A failed Draft has null here; the time that failed is failure.scheduled_at. */
|
|
20091
|
+
scheduled_at: string | null;
|
|
20092
|
+
/** @description Why the last scheduled publish failed; present on failed Drafts only. */
|
|
20093
|
+
failure: {
|
|
19810
20094
|
/**
|
|
19811
|
-
* @description
|
|
20095
|
+
* @description Why it failed. outcome_unknown: the platform gave no usable answer, so the post may be live; check the account's posts before you publish again. missed: Curviate could not start within an hour of the time. platform_error and rate_limited: 3 attempts over about 15 minutes all failed.
|
|
19812
20096
|
* @enum {string}
|
|
19813
20097
|
*/
|
|
19814
|
-
|
|
19815
|
-
/** @description
|
|
19816
|
-
|
|
19817
|
-
/** @description
|
|
19818
|
-
|
|
19819
|
-
/** @description
|
|
19820
|
-
|
|
19821
|
-
|
|
19822
|
-
|
|
19823
|
-
|
|
19824
|
-
|
|
19825
|
-
|
|
19826
|
-
|
|
19827
|
-
|
|
19828
|
-
|
|
19829
|
-
|
|
19830
|
-
|
|
19831
|
-
|
|
19832
|
-
|
|
19833
|
-
|
|
19834
|
-
|
|
19835
|
-
|
|
19836
|
-
|
|
19837
|
-
|
|
19838
|
-
|
|
19839
|
-
|
|
19840
|
-
|
|
19841
|
-
|
|
19842
|
-
|
|
19843
|
-
|
|
19844
|
-
|
|
19845
|
-
|
|
19846
|
-
|
|
19847
|
-
|
|
19848
|
-
|
|
20098
|
+
code?: "platform_error" | "rate_limited" | "account_unavailable" | "media_rejected" | "budget_exhausted" | "outside_activity_window" | "no_active_seat" | "not_publishable" | "platform_rejected" | "missed" | "outcome_unknown";
|
|
20099
|
+
/** @description What went wrong and what to do next. Never contains post text. */
|
|
20100
|
+
message?: string;
|
|
20101
|
+
/** @description When it failed. */
|
|
20102
|
+
failed_at?: string;
|
|
20103
|
+
/** @description The time that failed to publish. */
|
|
20104
|
+
scheduled_at?: string;
|
|
20105
|
+
} | null;
|
|
20106
|
+
/** @description Creation time. */
|
|
20107
|
+
created_at: string;
|
|
20108
|
+
/** @description Last change. */
|
|
20109
|
+
updated_at: string;
|
|
20110
|
+
safety_warning?: components["schemas"]["SafetyWarning"];
|
|
20111
|
+
};
|
|
20112
|
+
};
|
|
20113
|
+
};
|
|
20114
|
+
/** @description Invalid input. Media rules: up to 20 images (JPEG, PNG, GIF, WEBP, at most 6012 x 6012 px), or one MP4 video, or one PDF, never mixed. scheduled_at must be an ISO 8601 date-time with an offset, 5 minutes to 365 days ahead after truncation to the minute. */
|
|
20115
|
+
400: {
|
|
20116
|
+
headers: {
|
|
20117
|
+
[name: string]: unknown;
|
|
20118
|
+
};
|
|
20119
|
+
content: {
|
|
20120
|
+
"application/json": components["schemas"]["Error"];
|
|
20121
|
+
};
|
|
20122
|
+
};
|
|
20123
|
+
/** @description Missing or invalid API key. */
|
|
20124
|
+
401: {
|
|
20125
|
+
headers: {
|
|
20126
|
+
[name: string]: unknown;
|
|
20127
|
+
};
|
|
20128
|
+
content: {
|
|
20129
|
+
"application/json": components["schemas"]["Error"];
|
|
20130
|
+
};
|
|
20131
|
+
};
|
|
20132
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
20133
|
+
403: {
|
|
20134
|
+
headers: {
|
|
20135
|
+
[name: string]: unknown;
|
|
20136
|
+
};
|
|
20137
|
+
content: {
|
|
20138
|
+
"application/json": components["schemas"]["Error"];
|
|
20139
|
+
};
|
|
20140
|
+
};
|
|
20141
|
+
/** @description The account_id is not one of yours (ACCOUNT_NOT_FOUND). */
|
|
20142
|
+
404: {
|
|
20143
|
+
headers: {
|
|
20144
|
+
[name: string]: unknown;
|
|
20145
|
+
};
|
|
20146
|
+
content: {
|
|
20147
|
+
"application/json": components["schemas"]["Error"];
|
|
20148
|
+
};
|
|
20149
|
+
};
|
|
20150
|
+
/** @description The account is disconnected (REAUTH_REQUIRED). Reconnect it, or choose another account. */
|
|
20151
|
+
409: {
|
|
20152
|
+
headers: {
|
|
20153
|
+
[name: string]: unknown;
|
|
20154
|
+
};
|
|
20155
|
+
content: {
|
|
20156
|
+
"application/json": components["schemas"]["Error"];
|
|
20157
|
+
};
|
|
20158
|
+
};
|
|
20159
|
+
/** @description A file is over its size limit: 5 MiB per image, and 5 MiB per file sent inline. */
|
|
20160
|
+
413: {
|
|
20161
|
+
headers: {
|
|
20162
|
+
[name: string]: unknown;
|
|
20163
|
+
};
|
|
20164
|
+
content: {
|
|
20165
|
+
"application/json": components["schemas"]["Error"];
|
|
20166
|
+
};
|
|
20167
|
+
};
|
|
20168
|
+
/** @description DRAFT_LIMIT_REACHED: the bucket (one account, or Drafts with no account) already holds 50 Drafts. MEDIA_QUOTA_EXCEEDED: the media would take the bucket past its 2 GiB quota; nothing is stored. ACCOUNT_REQUIRED / DRAFT_NOT_PUBLISHABLE: scheduling needs an account and text. SCHEDULE_CONFLICT: another scheduled Draft on the account is less than 5 minutes away; the message names it. */
|
|
20169
|
+
422: {
|
|
20170
|
+
headers: {
|
|
20171
|
+
[name: string]: unknown;
|
|
20172
|
+
};
|
|
20173
|
+
content: {
|
|
20174
|
+
"application/json": components["schemas"]["Error"];
|
|
20175
|
+
};
|
|
20176
|
+
};
|
|
20177
|
+
/** @description BUDGET_EXHAUSTED with reason activity_window: the scheduled time is outside the account's activity window and the account enforces it. Nothing is saved. */
|
|
20178
|
+
429: {
|
|
20179
|
+
headers: {
|
|
20180
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20181
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20182
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
20183
|
+
[name: string]: unknown;
|
|
20184
|
+
};
|
|
20185
|
+
content: {
|
|
20186
|
+
"application/json": components["schemas"]["Error"];
|
|
20187
|
+
};
|
|
20188
|
+
};
|
|
20189
|
+
};
|
|
20190
|
+
};
|
|
20191
|
+
getV1DraftsId: {
|
|
20192
|
+
parameters: {
|
|
20193
|
+
query?: never;
|
|
20194
|
+
header?: never;
|
|
20195
|
+
path: {
|
|
20196
|
+
/** @description Draft id (drf_...). */
|
|
20197
|
+
id: string;
|
|
20198
|
+
};
|
|
20199
|
+
cookie?: never;
|
|
20200
|
+
};
|
|
20201
|
+
requestBody?: never;
|
|
20202
|
+
responses: {
|
|
20203
|
+
/** @description The Draft. */
|
|
20204
|
+
200: {
|
|
20205
|
+
headers: {
|
|
20206
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20207
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20208
|
+
[name: string]: unknown;
|
|
20209
|
+
};
|
|
20210
|
+
content: {
|
|
20211
|
+
"application/json": {
|
|
20212
|
+
/**
|
|
20213
|
+
* @description Response type discriminator.
|
|
20214
|
+
* @enum {string}
|
|
20215
|
+
*/
|
|
20216
|
+
object: "draft";
|
|
20217
|
+
/** @description Draft id (drf_...). */
|
|
20218
|
+
id: string;
|
|
20219
|
+
/** @description The account this Draft will publish as, or null for none yet. */
|
|
20220
|
+
account_id: string | null;
|
|
20221
|
+
/**
|
|
20222
|
+
* @description Derived: failed if failure is set, else scheduled if scheduled_at is set, else draft.
|
|
20223
|
+
* @enum {string}
|
|
20224
|
+
*/
|
|
20225
|
+
status: "draft" | "scheduled" | "failed";
|
|
20226
|
+
/** @description Post body text. May be empty or null while drafting. */
|
|
20227
|
+
text: string | null;
|
|
20228
|
+
/** @description Media, in post order. */
|
|
20229
|
+
attachments: {
|
|
20230
|
+
/** @description Attachment id (att_...). Send {id} in a PATCH attachments list to keep it. */
|
|
20231
|
+
id: string;
|
|
20232
|
+
/** @description The file's type. */
|
|
20233
|
+
content_type: string;
|
|
20234
|
+
/** @description File name. */
|
|
20235
|
+
filename: string;
|
|
20236
|
+
/** @description Stored size in bytes. */
|
|
20237
|
+
size_bytes: number;
|
|
20238
|
+
/** @description Signed download link to the stored file, valid for 1 hour. Read the Draft again for a fresh one. Null when the stored file is unavailable. */
|
|
20239
|
+
url: string | null;
|
|
20240
|
+
}[];
|
|
20241
|
+
/** @description A post to quote or repost when published. */
|
|
20242
|
+
quoted_post_id?: string | null;
|
|
20243
|
+
/**
|
|
20244
|
+
* @description Who can read the post once published.
|
|
20245
|
+
* @enum {string|null}
|
|
20246
|
+
*/
|
|
20247
|
+
can_read?: "anyone" | "relations_only" | null;
|
|
20248
|
+
/**
|
|
20249
|
+
* @description Who may comment once published.
|
|
20250
|
+
* @enum {string|null}
|
|
20251
|
+
*/
|
|
20252
|
+
can_comment?: "anyone" | "relations_only" | "no_one" | null;
|
|
20253
|
+
/** @description Company page id to post as. */
|
|
20254
|
+
post_as?: string | null;
|
|
20255
|
+
/** @description When Curviate publishes the Draft (UTC, whole minute), or null. It goes out up to 20 seconds after this time. A failed Draft has null here; the time that failed is failure.scheduled_at. */
|
|
20256
|
+
scheduled_at: string | null;
|
|
20257
|
+
/** @description Why the last scheduled publish failed; present on failed Drafts only. */
|
|
20258
|
+
failure: {
|
|
20259
|
+
/**
|
|
20260
|
+
* @description Why it failed. outcome_unknown: the platform gave no usable answer, so the post may be live; check the account's posts before you publish again. missed: Curviate could not start within an hour of the time. platform_error and rate_limited: 3 attempts over about 15 minutes all failed.
|
|
20261
|
+
* @enum {string}
|
|
20262
|
+
*/
|
|
20263
|
+
code?: "platform_error" | "rate_limited" | "account_unavailable" | "media_rejected" | "budget_exhausted" | "outside_activity_window" | "no_active_seat" | "not_publishable" | "platform_rejected" | "missed" | "outcome_unknown";
|
|
20264
|
+
/** @description What went wrong and what to do next. Never contains post text. */
|
|
20265
|
+
message?: string;
|
|
20266
|
+
/** @description When it failed. */
|
|
20267
|
+
failed_at?: string;
|
|
20268
|
+
/** @description The time that failed to publish. */
|
|
20269
|
+
scheduled_at?: string;
|
|
20270
|
+
} | null;
|
|
20271
|
+
/** @description Creation time. */
|
|
20272
|
+
created_at: string;
|
|
20273
|
+
/** @description Last change. */
|
|
20274
|
+
updated_at: string;
|
|
20275
|
+
safety_warning?: components["schemas"]["SafetyWarning"];
|
|
20276
|
+
};
|
|
20277
|
+
};
|
|
20278
|
+
};
|
|
20279
|
+
/** @description Missing or invalid API key. */
|
|
20280
|
+
401: {
|
|
20281
|
+
headers: {
|
|
20282
|
+
[name: string]: unknown;
|
|
20283
|
+
};
|
|
20284
|
+
content: {
|
|
20285
|
+
"application/json": components["schemas"]["Error"];
|
|
20286
|
+
};
|
|
20287
|
+
};
|
|
20288
|
+
/** @description No Draft with this id among yours (RESOURCE_NOT_FOUND). */
|
|
20289
|
+
404: {
|
|
20290
|
+
headers: {
|
|
20291
|
+
[name: string]: unknown;
|
|
20292
|
+
};
|
|
20293
|
+
content: {
|
|
20294
|
+
"application/json": components["schemas"]["Error"];
|
|
20295
|
+
};
|
|
20296
|
+
};
|
|
20297
|
+
/** @description Rate limited, slow down and retry after the hinted delay. */
|
|
20298
|
+
429: {
|
|
20299
|
+
headers: {
|
|
20300
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20301
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20302
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
20303
|
+
[name: string]: unknown;
|
|
20304
|
+
};
|
|
20305
|
+
content: {
|
|
20306
|
+
"application/json": components["schemas"]["Error"];
|
|
20307
|
+
};
|
|
20308
|
+
};
|
|
20309
|
+
};
|
|
20310
|
+
};
|
|
20311
|
+
deleteV1DraftsId: {
|
|
20312
|
+
parameters: {
|
|
20313
|
+
query?: never;
|
|
20314
|
+
header?: never;
|
|
20315
|
+
path: {
|
|
20316
|
+
/** @description Draft id (drf_...). */
|
|
20317
|
+
id: string;
|
|
20318
|
+
};
|
|
20319
|
+
cookie?: never;
|
|
20320
|
+
};
|
|
20321
|
+
requestBody?: never;
|
|
20322
|
+
responses: {
|
|
20323
|
+
/** @description Draft and its media deleted. No response body. */
|
|
20324
|
+
204: {
|
|
20325
|
+
headers: {
|
|
20326
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20327
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20328
|
+
[name: string]: unknown;
|
|
20329
|
+
};
|
|
20330
|
+
content?: never;
|
|
20331
|
+
};
|
|
20332
|
+
/** @description Missing or invalid API key. */
|
|
20333
|
+
401: {
|
|
20334
|
+
headers: {
|
|
20335
|
+
[name: string]: unknown;
|
|
20336
|
+
};
|
|
20337
|
+
content: {
|
|
20338
|
+
"application/json": components["schemas"]["Error"];
|
|
20339
|
+
};
|
|
20340
|
+
};
|
|
20341
|
+
/** @description No Draft with this id among yours (RESOURCE_NOT_FOUND). */
|
|
20342
|
+
404: {
|
|
20343
|
+
headers: {
|
|
20344
|
+
[name: string]: unknown;
|
|
20345
|
+
};
|
|
20346
|
+
content: {
|
|
20347
|
+
"application/json": components["schemas"]["Error"];
|
|
20348
|
+
};
|
|
20349
|
+
};
|
|
20350
|
+
/** @description DRAFT_PUBLISHING: a publish of this Draft is in flight. Read it again in a few seconds. */
|
|
20351
|
+
409: {
|
|
20352
|
+
headers: {
|
|
20353
|
+
[name: string]: unknown;
|
|
20354
|
+
};
|
|
20355
|
+
content: {
|
|
20356
|
+
"application/json": components["schemas"]["Error"];
|
|
20357
|
+
};
|
|
20358
|
+
};
|
|
20359
|
+
/** @description Rate limited, slow down and retry after the hinted delay. */
|
|
20360
|
+
429: {
|
|
20361
|
+
headers: {
|
|
20362
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20363
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20364
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
20365
|
+
[name: string]: unknown;
|
|
20366
|
+
};
|
|
20367
|
+
content: {
|
|
20368
|
+
"application/json": components["schemas"]["Error"];
|
|
20369
|
+
};
|
|
20370
|
+
};
|
|
20371
|
+
};
|
|
20372
|
+
};
|
|
20373
|
+
patchV1DraftsId: {
|
|
20374
|
+
parameters: {
|
|
20375
|
+
query?: never;
|
|
20376
|
+
header?: never;
|
|
20377
|
+
path: {
|
|
20378
|
+
/** @description Draft id (drf_...). */
|
|
20379
|
+
id: string;
|
|
20380
|
+
};
|
|
20381
|
+
cookie?: never;
|
|
20382
|
+
};
|
|
20383
|
+
requestBody: {
|
|
20384
|
+
content: {
|
|
20385
|
+
"application/json": {
|
|
20386
|
+
/** @description The account (acc_...) this Draft will publish as, or null for none yet. A Draft belongs to at most one account. */
|
|
20387
|
+
account_id?: string | null;
|
|
20388
|
+
/** @description When Curviate publishes this Draft: an ISO 8601 date-time with an offset, at least 5 minutes and at most 365 days ahead, stored in UTC truncated to the minute. Scheduling needs an account and text. Curviate publishes it up to 20 seconds after this time, and keeps scheduled posts on one account at least 5 minutes apart. null unschedules. */
|
|
20389
|
+
scheduled_at?: string | null;
|
|
20390
|
+
/** @description Post body text, up to 3000 characters. May be empty while drafting; publishing needs at least one character. */
|
|
20391
|
+
text?: string | null;
|
|
20392
|
+
/** @description A post to quote or repost when published, the same as on create post. Checked at publish time. */
|
|
20393
|
+
quoted_post_id?: string | null;
|
|
20394
|
+
/**
|
|
20395
|
+
* @description Who can read the post once published.
|
|
20396
|
+
* @enum {string|null}
|
|
20397
|
+
*/
|
|
20398
|
+
can_read?: "anyone" | "relations_only" | null;
|
|
20399
|
+
/**
|
|
20400
|
+
* @description Who may comment once published.
|
|
20401
|
+
* @enum {string|null}
|
|
20402
|
+
*/
|
|
20403
|
+
can_comment?: "anyone" | "relations_only" | "no_one" | null;
|
|
20404
|
+
/** @description Company page id to post as; the account must administer it. Checked at publish time. */
|
|
20405
|
+
post_as?: string | null;
|
|
20406
|
+
/** @description Replaces the whole list. Each item is {id} to keep an existing attachment, or a new base64 object. Attachments left out are deleted. */
|
|
20407
|
+
attachments?: ({
|
|
20408
|
+
/** @description An attachment already on this Draft (att_...), kept as is. */
|
|
20409
|
+
id: string;
|
|
20410
|
+
} | {
|
|
20411
|
+
/** @description Base64-encoded file bytes. */
|
|
20412
|
+
content: string;
|
|
20413
|
+
/** @description The file's type: image/jpeg, image/png, image/gif, image/webp, video/mp4 or application/pdf. */
|
|
20414
|
+
content_type: string;
|
|
20415
|
+
/** @description File name. */
|
|
20416
|
+
filename: string;
|
|
20417
|
+
})[];
|
|
20418
|
+
};
|
|
20419
|
+
};
|
|
20420
|
+
};
|
|
20421
|
+
responses: {
|
|
20422
|
+
/** @description The updated Draft. scheduled_at schedules, reschedules or (null) unschedules; changing it or the account cancels a pending publish and its retries. Unscheduling alone needs no active seat. With scheduled_at, the response carries safety_warning (reason activity_window) when the time is outside the account's activity window and its posture is warn; under enforce the request is refused instead (429 BUDGET_EXHAUSTED, reason activity_window) and nothing is saved. */
|
|
20423
|
+
200: {
|
|
20424
|
+
headers: {
|
|
20425
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20426
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20427
|
+
[name: string]: unknown;
|
|
20428
|
+
};
|
|
20429
|
+
content: {
|
|
20430
|
+
"application/json": {
|
|
20431
|
+
/**
|
|
20432
|
+
* @description Response type discriminator.
|
|
20433
|
+
* @enum {string}
|
|
20434
|
+
*/
|
|
20435
|
+
object: "draft";
|
|
20436
|
+
/** @description Draft id (drf_...). */
|
|
20437
|
+
id: string;
|
|
20438
|
+
/** @description The account this Draft will publish as, or null for none yet. */
|
|
20439
|
+
account_id: string | null;
|
|
20440
|
+
/**
|
|
20441
|
+
* @description Derived: failed if failure is set, else scheduled if scheduled_at is set, else draft.
|
|
20442
|
+
* @enum {string}
|
|
20443
|
+
*/
|
|
20444
|
+
status: "draft" | "scheduled" | "failed";
|
|
20445
|
+
/** @description Post body text. May be empty or null while drafting. */
|
|
20446
|
+
text: string | null;
|
|
20447
|
+
/** @description Media, in post order. */
|
|
20448
|
+
attachments: {
|
|
20449
|
+
/** @description Attachment id (att_...). Send {id} in a PATCH attachments list to keep it. */
|
|
20450
|
+
id: string;
|
|
20451
|
+
/** @description The file's type. */
|
|
20452
|
+
content_type: string;
|
|
20453
|
+
/** @description File name. */
|
|
20454
|
+
filename: string;
|
|
20455
|
+
/** @description Stored size in bytes. */
|
|
20456
|
+
size_bytes: number;
|
|
20457
|
+
/** @description Signed download link to the stored file, valid for 1 hour. Read the Draft again for a fresh one. Null when the stored file is unavailable. */
|
|
20458
|
+
url: string | null;
|
|
20459
|
+
}[];
|
|
20460
|
+
/** @description A post to quote or repost when published. */
|
|
20461
|
+
quoted_post_id?: string | null;
|
|
20462
|
+
/**
|
|
20463
|
+
* @description Who can read the post once published.
|
|
20464
|
+
* @enum {string|null}
|
|
20465
|
+
*/
|
|
20466
|
+
can_read?: "anyone" | "relations_only" | null;
|
|
20467
|
+
/**
|
|
20468
|
+
* @description Who may comment once published.
|
|
20469
|
+
* @enum {string|null}
|
|
20470
|
+
*/
|
|
20471
|
+
can_comment?: "anyone" | "relations_only" | "no_one" | null;
|
|
20472
|
+
/** @description Company page id to post as. */
|
|
20473
|
+
post_as?: string | null;
|
|
20474
|
+
/** @description When Curviate publishes the Draft (UTC, whole minute), or null. It goes out up to 20 seconds after this time. A failed Draft has null here; the time that failed is failure.scheduled_at. */
|
|
20475
|
+
scheduled_at: string | null;
|
|
20476
|
+
/** @description Why the last scheduled publish failed; present on failed Drafts only. */
|
|
20477
|
+
failure: {
|
|
20478
|
+
/**
|
|
20479
|
+
* @description Why it failed. outcome_unknown: the platform gave no usable answer, so the post may be live; check the account's posts before you publish again. missed: Curviate could not start within an hour of the time. platform_error and rate_limited: 3 attempts over about 15 minutes all failed.
|
|
20480
|
+
* @enum {string}
|
|
20481
|
+
*/
|
|
20482
|
+
code?: "platform_error" | "rate_limited" | "account_unavailable" | "media_rejected" | "budget_exhausted" | "outside_activity_window" | "no_active_seat" | "not_publishable" | "platform_rejected" | "missed" | "outcome_unknown";
|
|
20483
|
+
/** @description What went wrong and what to do next. Never contains post text. */
|
|
20484
|
+
message?: string;
|
|
20485
|
+
/** @description When it failed. */
|
|
20486
|
+
failed_at?: string;
|
|
20487
|
+
/** @description The time that failed to publish. */
|
|
20488
|
+
scheduled_at?: string;
|
|
20489
|
+
} | null;
|
|
20490
|
+
/** @description Creation time. */
|
|
20491
|
+
created_at: string;
|
|
20492
|
+
/** @description Last change. */
|
|
20493
|
+
updated_at: string;
|
|
20494
|
+
safety_warning?: components["schemas"]["SafetyWarning"];
|
|
20495
|
+
};
|
|
20496
|
+
};
|
|
20497
|
+
};
|
|
20498
|
+
/** @description Invalid input. Media rules: up to 20 images (JPEG, PNG, GIF, WEBP, at most 6012 x 6012 px), or one MP4 video, or one PDF, never mixed. Also: an attachment id that is not on this Draft. scheduled_at must be an ISO 8601 date-time with an offset, 5 minutes to 365 days ahead after truncation to the minute. */
|
|
20499
|
+
400: {
|
|
20500
|
+
headers: {
|
|
20501
|
+
[name: string]: unknown;
|
|
20502
|
+
};
|
|
20503
|
+
content: {
|
|
20504
|
+
"application/json": components["schemas"]["Error"];
|
|
20505
|
+
};
|
|
20506
|
+
};
|
|
20507
|
+
/** @description Missing or invalid API key. */
|
|
20508
|
+
401: {
|
|
20509
|
+
headers: {
|
|
20510
|
+
[name: string]: unknown;
|
|
20511
|
+
};
|
|
20512
|
+
content: {
|
|
20513
|
+
"application/json": components["schemas"]["Error"];
|
|
20514
|
+
};
|
|
20515
|
+
};
|
|
20516
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
20517
|
+
403: {
|
|
20518
|
+
headers: {
|
|
20519
|
+
[name: string]: unknown;
|
|
20520
|
+
};
|
|
20521
|
+
content: {
|
|
20522
|
+
"application/json": components["schemas"]["Error"];
|
|
20523
|
+
};
|
|
20524
|
+
};
|
|
20525
|
+
/** @description No such Draft (RESOURCE_NOT_FOUND), or the account_id is not one of yours (ACCOUNT_NOT_FOUND). */
|
|
20526
|
+
404: {
|
|
20527
|
+
headers: {
|
|
20528
|
+
[name: string]: unknown;
|
|
20529
|
+
};
|
|
20530
|
+
content: {
|
|
20531
|
+
"application/json": components["schemas"]["Error"];
|
|
20532
|
+
};
|
|
20533
|
+
};
|
|
20534
|
+
/** @description DRAFT_PUBLISHING: a publish of this Draft is in flight. Read it again in a few seconds. Or the target account is disconnected (REAUTH_REQUIRED). */
|
|
20535
|
+
409: {
|
|
20536
|
+
headers: {
|
|
20537
|
+
[name: string]: unknown;
|
|
20538
|
+
};
|
|
20539
|
+
content: {
|
|
20540
|
+
"application/json": components["schemas"]["Error"];
|
|
20541
|
+
};
|
|
20542
|
+
};
|
|
20543
|
+
/** @description A file is over its size limit: 5 MiB per image, and 5 MiB per file sent inline. */
|
|
20544
|
+
413: {
|
|
20545
|
+
headers: {
|
|
20546
|
+
[name: string]: unknown;
|
|
20547
|
+
};
|
|
20548
|
+
content: {
|
|
20549
|
+
"application/json": components["schemas"]["Error"];
|
|
20550
|
+
};
|
|
20551
|
+
};
|
|
20552
|
+
/** @description DRAFT_LIMIT_REACHED: the bucket (one account, or Drafts with no account) already holds 50 Drafts. MEDIA_QUOTA_EXCEEDED: the media would take the bucket past its 2 GiB quota; nothing is stored. ACCOUNT_REQUIRED: a scheduled Draft cannot drop its account; unschedule it first. ACCOUNT_REQUIRED / DRAFT_NOT_PUBLISHABLE: scheduling needs an account and text. SCHEDULE_CONFLICT: another scheduled Draft on the account is less than 5 minutes away; the message names it. */
|
|
20553
|
+
422: {
|
|
20554
|
+
headers: {
|
|
20555
|
+
[name: string]: unknown;
|
|
20556
|
+
};
|
|
20557
|
+
content: {
|
|
20558
|
+
"application/json": components["schemas"]["Error"];
|
|
20559
|
+
};
|
|
20560
|
+
};
|
|
20561
|
+
/** @description BUDGET_EXHAUSTED with reason activity_window: the scheduled time is outside the account's activity window and the account enforces it. Nothing is saved. */
|
|
20562
|
+
429: {
|
|
20563
|
+
headers: {
|
|
20564
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20565
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20566
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
20567
|
+
[name: string]: unknown;
|
|
20568
|
+
};
|
|
20569
|
+
content: {
|
|
20570
|
+
"application/json": components["schemas"]["Error"];
|
|
20571
|
+
};
|
|
20572
|
+
};
|
|
20573
|
+
};
|
|
20574
|
+
};
|
|
20575
|
+
postV1DraftsIdPublish: {
|
|
20576
|
+
parameters: {
|
|
20577
|
+
query?: never;
|
|
20578
|
+
header?: never;
|
|
20579
|
+
path: {
|
|
20580
|
+
/** @description Draft id (drf_...). */
|
|
20581
|
+
id: string;
|
|
20582
|
+
};
|
|
20583
|
+
cookie?: never;
|
|
20584
|
+
};
|
|
20585
|
+
requestBody?: never;
|
|
20586
|
+
responses: {
|
|
20587
|
+
/** @description Published. The Draft and its media are deleted and a publish record is written. No webhook is sent: this response is the result. */
|
|
20588
|
+
201: {
|
|
20589
|
+
headers: {
|
|
20590
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20591
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20592
|
+
[name: string]: unknown;
|
|
20593
|
+
};
|
|
20594
|
+
content: {
|
|
20595
|
+
"application/json": {
|
|
20596
|
+
/**
|
|
20597
|
+
* @description Response type discriminator.
|
|
20598
|
+
* @enum {string}
|
|
20599
|
+
*/
|
|
20600
|
+
object: "post_created";
|
|
20601
|
+
/** @description The published post's id. */
|
|
20602
|
+
id: string | null;
|
|
20603
|
+
safety_warning?: components["schemas"]["SafetyWarning"];
|
|
20604
|
+
};
|
|
20605
|
+
};
|
|
20606
|
+
};
|
|
20607
|
+
/** @description Missing or invalid API key. */
|
|
20608
|
+
401: {
|
|
20609
|
+
headers: {
|
|
20610
|
+
[name: string]: unknown;
|
|
20611
|
+
};
|
|
20612
|
+
content: {
|
|
20613
|
+
"application/json": components["schemas"]["Error"];
|
|
20614
|
+
};
|
|
20615
|
+
};
|
|
20616
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
20617
|
+
403: {
|
|
20618
|
+
headers: {
|
|
20619
|
+
[name: string]: unknown;
|
|
20620
|
+
};
|
|
20621
|
+
content: {
|
|
20622
|
+
"application/json": components["schemas"]["Error"];
|
|
20623
|
+
};
|
|
20624
|
+
};
|
|
20625
|
+
/** @description No Draft with this id among yours (RESOURCE_NOT_FOUND). */
|
|
20626
|
+
404: {
|
|
20627
|
+
headers: {
|
|
20628
|
+
[name: string]: unknown;
|
|
20629
|
+
};
|
|
20630
|
+
content: {
|
|
20631
|
+
"application/json": components["schemas"]["Error"];
|
|
20632
|
+
};
|
|
20633
|
+
};
|
|
20634
|
+
/** @description DRAFT_PUBLISHING: a publish of this Draft is in flight. Read it again in a few seconds. */
|
|
20635
|
+
409: {
|
|
20636
|
+
headers: {
|
|
20637
|
+
[name: string]: unknown;
|
|
20638
|
+
};
|
|
20639
|
+
content: {
|
|
20640
|
+
"application/json": components["schemas"]["Error"];
|
|
20641
|
+
};
|
|
20642
|
+
};
|
|
20643
|
+
/** @description ACCOUNT_REQUIRED: the Draft has no account. DRAFT_NOT_PUBLISHABLE: a content gap, the message names the field (for example text: empty). The Draft is unchanged. */
|
|
20644
|
+
422: {
|
|
20645
|
+
headers: {
|
|
20646
|
+
[name: string]: unknown;
|
|
20647
|
+
};
|
|
20648
|
+
content: {
|
|
20649
|
+
"application/json": components["schemas"]["Error"];
|
|
20650
|
+
};
|
|
20651
|
+
};
|
|
20652
|
+
/** @description An account-safety limit or a platform rate limit refused the publish. The Draft is unchanged. */
|
|
20653
|
+
429: {
|
|
20654
|
+
headers: {
|
|
20655
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20656
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20657
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
20658
|
+
[name: string]: unknown;
|
|
20659
|
+
};
|
|
20660
|
+
content: {
|
|
20661
|
+
"application/json": components["schemas"]["Error"];
|
|
20662
|
+
};
|
|
20663
|
+
};
|
|
20664
|
+
/** @description The platform refused or failed the publish. The Draft is unchanged; the error says whether a retry can help. */
|
|
20665
|
+
502: {
|
|
20666
|
+
headers: {
|
|
20667
|
+
[name: string]: unknown;
|
|
20668
|
+
};
|
|
20669
|
+
content: {
|
|
20670
|
+
"application/json": components["schemas"]["Error"];
|
|
20671
|
+
};
|
|
20672
|
+
};
|
|
20673
|
+
/** @description PLATFORM_ERROR: the platform did not answer in time. The Draft is unchanged, but the post may still have been published: check the account's posts before publishing again. */
|
|
20674
|
+
504: {
|
|
20675
|
+
headers: {
|
|
20676
|
+
[name: string]: unknown;
|
|
20677
|
+
};
|
|
20678
|
+
content: {
|
|
20679
|
+
"application/json": components["schemas"]["Error"];
|
|
20680
|
+
};
|
|
20681
|
+
};
|
|
20682
|
+
};
|
|
20683
|
+
};
|
|
20684
|
+
postV1DraftsIdAttachments: {
|
|
20685
|
+
parameters: {
|
|
20686
|
+
query: {
|
|
20687
|
+
/** @description The file's name, kept with the attachment. */
|
|
20688
|
+
filename: string;
|
|
20689
|
+
};
|
|
20690
|
+
header?: never;
|
|
20691
|
+
path: {
|
|
20692
|
+
/** @description Draft id (drf_...). */
|
|
20693
|
+
id: string;
|
|
20694
|
+
};
|
|
20695
|
+
cookie?: never;
|
|
20696
|
+
};
|
|
20697
|
+
requestBody: {
|
|
20698
|
+
content: {
|
|
20699
|
+
"video/mp4": string;
|
|
20700
|
+
"application/pdf": string;
|
|
20701
|
+
"image/jpeg": string;
|
|
20702
|
+
"image/png": string;
|
|
20703
|
+
"image/gif": string;
|
|
20704
|
+
"image/webp": string;
|
|
20705
|
+
};
|
|
20706
|
+
};
|
|
20707
|
+
responses: {
|
|
20708
|
+
/** @description The Draft, with the new attachment last in attachments[]. */
|
|
20709
|
+
201: {
|
|
20710
|
+
headers: {
|
|
20711
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20712
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20713
|
+
[name: string]: unknown;
|
|
20714
|
+
};
|
|
20715
|
+
content: {
|
|
20716
|
+
"application/json": {
|
|
20717
|
+
/**
|
|
20718
|
+
* @description Response type discriminator.
|
|
20719
|
+
* @enum {string}
|
|
20720
|
+
*/
|
|
20721
|
+
object: "draft";
|
|
20722
|
+
/** @description Draft id (drf_...). */
|
|
20723
|
+
id: string;
|
|
20724
|
+
/** @description The account this Draft will publish as, or null for none yet. */
|
|
20725
|
+
account_id: string | null;
|
|
20726
|
+
/**
|
|
20727
|
+
* @description Derived: failed if failure is set, else scheduled if scheduled_at is set, else draft.
|
|
20728
|
+
* @enum {string}
|
|
20729
|
+
*/
|
|
20730
|
+
status: "draft" | "scheduled" | "failed";
|
|
20731
|
+
/** @description Post body text. May be empty or null while drafting. */
|
|
20732
|
+
text: string | null;
|
|
20733
|
+
/** @description Media, in post order. */
|
|
20734
|
+
attachments: {
|
|
20735
|
+
/** @description Attachment id (att_...). Send {id} in a PATCH attachments list to keep it. */
|
|
20736
|
+
id: string;
|
|
20737
|
+
/** @description The file's type. */
|
|
20738
|
+
content_type: string;
|
|
20739
|
+
/** @description File name. */
|
|
20740
|
+
filename: string;
|
|
20741
|
+
/** @description Stored size in bytes. */
|
|
20742
|
+
size_bytes: number;
|
|
20743
|
+
/** @description Signed download link to the stored file, valid for 1 hour. Read the Draft again for a fresh one. Null when the stored file is unavailable. */
|
|
20744
|
+
url: string | null;
|
|
20745
|
+
}[];
|
|
20746
|
+
/** @description A post to quote or repost when published. */
|
|
20747
|
+
quoted_post_id?: string | null;
|
|
20748
|
+
/**
|
|
20749
|
+
* @description Who can read the post once published.
|
|
20750
|
+
* @enum {string|null}
|
|
20751
|
+
*/
|
|
20752
|
+
can_read?: "anyone" | "relations_only" | null;
|
|
20753
|
+
/**
|
|
20754
|
+
* @description Who may comment once published.
|
|
20755
|
+
* @enum {string|null}
|
|
20756
|
+
*/
|
|
20757
|
+
can_comment?: "anyone" | "relations_only" | "no_one" | null;
|
|
20758
|
+
/** @description Company page id to post as. */
|
|
20759
|
+
post_as?: string | null;
|
|
20760
|
+
/** @description When Curviate publishes the Draft (UTC, whole minute), or null. It goes out up to 20 seconds after this time. A failed Draft has null here; the time that failed is failure.scheduled_at. */
|
|
20761
|
+
scheduled_at: string | null;
|
|
20762
|
+
/** @description Why the last scheduled publish failed; present on failed Drafts only. */
|
|
20763
|
+
failure: {
|
|
20764
|
+
/**
|
|
20765
|
+
* @description Why it failed. outcome_unknown: the platform gave no usable answer, so the post may be live; check the account's posts before you publish again. missed: Curviate could not start within an hour of the time. platform_error and rate_limited: 3 attempts over about 15 minutes all failed.
|
|
20766
|
+
* @enum {string}
|
|
20767
|
+
*/
|
|
20768
|
+
code?: "platform_error" | "rate_limited" | "account_unavailable" | "media_rejected" | "budget_exhausted" | "outside_activity_window" | "no_active_seat" | "not_publishable" | "platform_rejected" | "missed" | "outcome_unknown";
|
|
20769
|
+
/** @description What went wrong and what to do next. Never contains post text. */
|
|
20770
|
+
message?: string;
|
|
20771
|
+
/** @description When it failed. */
|
|
20772
|
+
failed_at?: string;
|
|
20773
|
+
/** @description The time that failed to publish. */
|
|
20774
|
+
scheduled_at?: string;
|
|
20775
|
+
} | null;
|
|
20776
|
+
/** @description Creation time. */
|
|
20777
|
+
created_at: string;
|
|
20778
|
+
/** @description Last change. */
|
|
20779
|
+
updated_at: string;
|
|
20780
|
+
safety_warning?: components["schemas"]["SafetyWarning"];
|
|
20781
|
+
};
|
|
20782
|
+
};
|
|
20783
|
+
};
|
|
20784
|
+
/** @description Invalid input. Media rules: up to 20 images (JPEG, PNG, GIF, WEBP, at most 6012 x 6012 px), or one MP4 video, or one PDF, never mixed. Also: an empty file, a filename missing, or a body that did not carry exactly its Content-Length (a truncated upload; nothing is kept). */
|
|
20785
|
+
400: {
|
|
20786
|
+
headers: {
|
|
20787
|
+
[name: string]: unknown;
|
|
20788
|
+
};
|
|
20789
|
+
content: {
|
|
20790
|
+
"application/json": components["schemas"]["Error"];
|
|
20791
|
+
};
|
|
20792
|
+
};
|
|
20793
|
+
/** @description Missing or invalid API key. */
|
|
20794
|
+
401: {
|
|
20795
|
+
headers: {
|
|
20796
|
+
[name: string]: unknown;
|
|
20797
|
+
};
|
|
20798
|
+
content: {
|
|
20799
|
+
"application/json": components["schemas"]["Error"];
|
|
20800
|
+
};
|
|
20801
|
+
};
|
|
20802
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
20803
|
+
403: {
|
|
20804
|
+
headers: {
|
|
20805
|
+
[name: string]: unknown;
|
|
20806
|
+
};
|
|
20807
|
+
content: {
|
|
20808
|
+
"application/json": components["schemas"]["Error"];
|
|
20809
|
+
};
|
|
20810
|
+
};
|
|
20811
|
+
/** @description No Draft with this id among yours (RESOURCE_NOT_FOUND). */
|
|
20812
|
+
404: {
|
|
20813
|
+
headers: {
|
|
20814
|
+
[name: string]: unknown;
|
|
20815
|
+
};
|
|
20816
|
+
content: {
|
|
20817
|
+
"application/json": components["schemas"]["Error"];
|
|
20818
|
+
};
|
|
20819
|
+
};
|
|
20820
|
+
/** @description DRAFT_PUBLISHING: a publish of this Draft is in flight. Read it again in a few seconds. */
|
|
20821
|
+
409: {
|
|
20822
|
+
headers: {
|
|
20823
|
+
[name: string]: unknown;
|
|
20824
|
+
};
|
|
20825
|
+
content: {
|
|
20826
|
+
"application/json": components["schemas"]["Error"];
|
|
20827
|
+
};
|
|
20828
|
+
};
|
|
20829
|
+
/** @description INVALID_REQUEST: Content-Length is required; a chunked upload is not accepted. */
|
|
20830
|
+
411: {
|
|
20831
|
+
headers: {
|
|
20832
|
+
[name: string]: unknown;
|
|
20833
|
+
};
|
|
20834
|
+
content: {
|
|
20835
|
+
"application/json": components["schemas"]["Error"];
|
|
20836
|
+
};
|
|
20837
|
+
};
|
|
20838
|
+
/** @description PAYLOAD_TOO_LARGE: the file is over its type's limit: 5 MiB per image, 50 MiB for a video, 50 MiB for a PDF. */
|
|
20839
|
+
413: {
|
|
20840
|
+
headers: {
|
|
20841
|
+
[name: string]: unknown;
|
|
20842
|
+
};
|
|
20843
|
+
content: {
|
|
20844
|
+
"application/json": components["schemas"]["Error"];
|
|
20845
|
+
};
|
|
20846
|
+
};
|
|
20847
|
+
/** @description UNSUPPORTED_MEDIA_TYPE: Content-Type is not one of the accepted file types (JSON and multipart bodies included). */
|
|
20848
|
+
415: {
|
|
20849
|
+
headers: {
|
|
20850
|
+
[name: string]: unknown;
|
|
20851
|
+
};
|
|
20852
|
+
content: {
|
|
20853
|
+
"application/json": components["schemas"]["Error"];
|
|
20854
|
+
};
|
|
20855
|
+
};
|
|
20856
|
+
/** @description MEDIA_QUOTA_EXCEEDED: the file would take the bucket past its 2 GiB quota; nothing is stored. */
|
|
20857
|
+
422: {
|
|
20858
|
+
headers: {
|
|
20859
|
+
[name: string]: unknown;
|
|
20860
|
+
};
|
|
20861
|
+
content: {
|
|
20862
|
+
"application/json": components["schemas"]["Error"];
|
|
20863
|
+
};
|
|
20864
|
+
};
|
|
20865
|
+
/** @description Rate limited, slow down and retry after the hinted delay. */
|
|
20866
|
+
429: {
|
|
20867
|
+
headers: {
|
|
20868
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20869
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20870
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
20871
|
+
[name: string]: unknown;
|
|
20872
|
+
};
|
|
20873
|
+
content: {
|
|
20874
|
+
"application/json": components["schemas"]["Error"];
|
|
20875
|
+
};
|
|
20876
|
+
};
|
|
20877
|
+
};
|
|
20878
|
+
};
|
|
20879
|
+
getV1AccountIdRecruiterProfilesUserId: {
|
|
20880
|
+
parameters: {
|
|
20881
|
+
query?: {
|
|
20882
|
+
/** @description Recruiter profile sections to fetch, repeatable: linkedin_experience, linkedin_skills, and others (each has a _preview variant). Omit for base fields only. */
|
|
20883
|
+
with_sections?: ("linkedin_*" | "linkedin_experience" | "linkedin_education" | "linkedin_languages" | "linkedin_skills" | "linkedin_certifications" | "linkedin_volunteer_experience" | "linkedin_projects" | "linkedin_recommendations" | "linkedin_interests" | "linkedin_recruiting_activity" | "linkedin_*_preview" | "linkedin_experience_preview" | "linkedin_education_preview" | "linkedin_languages_preview" | "linkedin_skills_preview" | "linkedin_certifications_preview" | "linkedin_volunteer_experience_preview" | "linkedin_projects_preview" | "linkedin_recommendations_preview" | "linkedin_interests_preview" | "linkedin_recruiting_activity_preview")[];
|
|
20884
|
+
};
|
|
20885
|
+
header?: never;
|
|
20886
|
+
path: {
|
|
20887
|
+
/** @description The account ID (`acc_...`) whose Recruiter seat resolves the profile view. */
|
|
20888
|
+
account_id: string;
|
|
20889
|
+
/** @description The target profile: 'me', a public identifier, or a member ID. */
|
|
20890
|
+
user_id: string;
|
|
20891
|
+
};
|
|
20892
|
+
cookie?: never;
|
|
20893
|
+
};
|
|
20894
|
+
requestBody?: never;
|
|
20895
|
+
responses: {
|
|
20896
|
+
/** @description Recruiter-enriched profile. Returns the base profile shape plus the recruiting_profile enrichment. Section arrays under specifics (skills, experience, education, etc.) are only present when the corresponding with_sections value was requested. No inline quota; read from GET /v1/accounts/{account_id}. Requires a Recruiter seat. */
|
|
20897
|
+
200: {
|
|
20898
|
+
headers: {
|
|
20899
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
20900
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
20901
|
+
[name: string]: unknown;
|
|
20902
|
+
};
|
|
20903
|
+
content: {
|
|
20904
|
+
"application/json": {
|
|
20905
|
+
/**
|
|
20906
|
+
* @description Response type discriminator.
|
|
20907
|
+
* @enum {string}
|
|
20908
|
+
*/
|
|
20909
|
+
object: "recruiter_profile";
|
|
20910
|
+
/** @description The profile's opaque identifier. */
|
|
20911
|
+
id: string;
|
|
20912
|
+
/**
|
|
20913
|
+
* @description Profile type.
|
|
20914
|
+
* @enum {string}
|
|
20915
|
+
*/
|
|
20916
|
+
type: "individual" | "organization" | "other";
|
|
20917
|
+
/** @description The member's display name. */
|
|
20918
|
+
display_name: string;
|
|
20919
|
+
/**
|
|
20920
|
+
* @description Source platform.
|
|
20921
|
+
* @enum {string}
|
|
20922
|
+
*/
|
|
20923
|
+
provider: "linkedin";
|
|
20924
|
+
/** @description First name. */
|
|
20925
|
+
first_name?: string;
|
|
20926
|
+
/** @description Last name. */
|
|
20927
|
+
last_name?: string;
|
|
20928
|
+
/** @description LinkedIn public URL slug (e.g. 'jane-doe'). */
|
|
20929
|
+
public_identifier?: string;
|
|
20930
|
+
/** @description Full LinkedIn profile URL. */
|
|
20931
|
+
profile_url?: string;
|
|
20932
|
+
/** @description Profile picture URL. */
|
|
20933
|
+
public_picture_url?: string;
|
|
20934
|
+
/** @description Large profile picture URL. */
|
|
20935
|
+
public_picture_url_large?: string;
|
|
20936
|
+
/** @description The member's professional headline. Reading it back through Curviate stores it in your tenant's entity records, with no expiry. */
|
|
20937
|
+
description?: string;
|
|
20938
|
+
/** @description Geographic location string. */
|
|
20939
|
+
location?: string;
|
|
20940
|
+
/** @description Structured profile-lens data, incl. connection distance and (when requested) section arrays. */
|
|
20941
|
+
specifics?: {
|
|
20942
|
+
/**
|
|
20943
|
+
* @description Connection distance from the operator account.
|
|
20944
|
+
* @enum {string}
|
|
20945
|
+
*/
|
|
20946
|
+
network_distance?: "SELF" | "FIRST_DEGREE" | "SECOND_DEGREE" | "THIRD_DEGREE" | "OUT_OF_NETWORK";
|
|
20947
|
+
/** @description The member's platform-native ID. */
|
|
20948
|
+
member_id?: string;
|
|
20949
|
+
/** @description Whether an InMail can be sent to this member. */
|
|
20950
|
+
can_send_inmail?: boolean;
|
|
20951
|
+
/** @description Whether the member has Open Profile enabled. */
|
|
20952
|
+
is_open_profile?: boolean;
|
|
20953
|
+
/** @description Whether the member has a LinkedIn Premium subscription. */
|
|
20954
|
+
is_premium?: boolean;
|
|
20955
|
+
/** @description Whether the member is a LinkedIn creator. */
|
|
20956
|
+
is_creator?: boolean;
|
|
20957
|
+
/** @description Whether the member has hiring mode active. */
|
|
20958
|
+
is_hiring?: boolean;
|
|
20959
|
+
/** @description Whether the member has Open to Work enabled. */
|
|
20960
|
+
is_open_to_work?: boolean;
|
|
20961
|
+
/** @description Skills entries. Present only when skills or linkedin_* was requested. Declared from the classic profile's own live-measured shape for the same underlying LinkedIn section, since this surface's own typed fields already match that shape, rather than from a Recruiter-specific capture. Confirm field-for-field against a real response before treating any inference, an absent field or one under a different name, as fact. */
|
|
20962
|
+
skills?: ({
|
|
20963
|
+
/** @description The skill name. */
|
|
20964
|
+
name?: string;
|
|
20965
|
+
/** @description How many people have endorsed this skill. */
|
|
20966
|
+
endorsement_count?: number;
|
|
20967
|
+
/** @description Whether the operator account has already endorsed this skill. */
|
|
20968
|
+
endorsed?: boolean;
|
|
20969
|
+
/** @description LinkedIn-provided insight strings about the skill. */
|
|
20970
|
+
insights?: string[];
|
|
20971
|
+
/** @description The value passed to POST /v1/{account_id}/users/{user_id}/endorse-skill to endorse this skill. Present ONLY for skills you are eligible to endorse, i.e. those of your 1st-degree connections. Omitted for users outside your network and on your own profile (the skill still lists name, endorsement_count, endorsed, and insights). */
|
|
20972
|
+
endorsement_id?: number;
|
|
20973
|
+
} & {
|
|
20974
|
+
[key: string]: unknown;
|
|
20975
|
+
})[];
|
|
20976
|
+
/** @description Work experience entries. Present only when experience or linkedin_* was requested. Declared from the classic profile's own live-measured shape for the same underlying LinkedIn section, since this surface's own typed fields already match that shape, rather than from a Recruiter-specific capture. Confirm field-for-field against a real response before treating any inference, an absent field or one under a different name, as fact. */
|
|
20977
|
+
experience?: ({
|
|
20978
|
+
/** @description Identifier of this work-experience entry. Not a company identifier. */
|
|
20979
|
+
id?: string;
|
|
20980
|
+
/** @description The employer. An object, not a name string. */
|
|
19849
20981
|
company?: {
|
|
19850
20982
|
/** @description The organization's platform identifier, when known. */
|
|
19851
20983
|
id?: string | null;
|
|
@@ -30121,7 +31253,7 @@ export interface operations {
|
|
|
30121
31253
|
* @description The event source this webhook subscribes to.
|
|
30122
31254
|
* @enum {string}
|
|
30123
31255
|
*/
|
|
30124
|
-
source?: "messaging" | "user" | "account_status";
|
|
31256
|
+
source?: "messaging" | "user" | "account_status" | "post";
|
|
30125
31257
|
/** @description The URL that receives delivery POST requests. */
|
|
30126
31258
|
request_url?: string;
|
|
30127
31259
|
name?: string | null;
|
|
@@ -30283,6 +31415,30 @@ export interface operations {
|
|
|
30283
31415
|
}[];
|
|
30284
31416
|
/** @description Account-status events to subscribe to (default: all 12 lifecycle events) */
|
|
30285
31417
|
events?: ("account.created" | "account.connected" | "account.synced" | "account.reconnected" | "account.reconnect_needed" | "account.restricted" | "account.creation_failed" | "account.disconnected" | "account.error" | "account.paused" | "account.connecting" | "account.permission_revoked" | "account.initial_sync.running" | "account.initial_sync.completed" | "account.initial_sync.failed")[];
|
|
31418
|
+
} | {
|
|
31419
|
+
/** @constant */
|
|
31420
|
+
source: "post";
|
|
31421
|
+
/** @description HTTPS URL that receives webhook deliveries. Must be a publicly reachable host on the default https port; private, loopback and link-local addresses are rejected. */
|
|
31422
|
+
request_url: string;
|
|
31423
|
+
/** @description Human-readable name for this webhook (1-100 chars) */
|
|
31424
|
+
name?: string;
|
|
31425
|
+
/** @description Per-account targeting. Required and non-empty; each id must be an acc_-prefixed id owned by the tenant. */
|
|
31426
|
+
account_ids: string[];
|
|
31427
|
+
/**
|
|
31428
|
+
* @description A disabled webhook is created but delivers nothing
|
|
31429
|
+
* @default true
|
|
31430
|
+
*/
|
|
31431
|
+
enabled?: boolean;
|
|
31432
|
+
/**
|
|
31433
|
+
* @description Custom headers added to each delivery POST. Names must be valid HTTP header names and values must be printable ASCII (no line breaks or control characters). Reserved names are rejected at registration; they include Content-Type, User-Agent, Host, any Curviate-* or Sec-* name, and the hop-by-hop headers. At most 10 headers, 1024 characters per value, 4096 bytes in total. Custom headers are not covered by the delivery signature, so treat them as a hint, not as proof of origin. Values are encrypted at rest and are never returned by a read. A read shows the header name plus a 8-character keyed fingerprint of the value, which carries no part of the value and no indication of its length. It is deterministic within your account, so a fingerprint confirms a rotation took effect and tells you whether two of your webhooks carry the same credential; fingerprints are not comparable across accounts. The header name is what identifies which credential is configured.
|
|
31434
|
+
* @default []
|
|
31435
|
+
*/
|
|
31436
|
+
headers?: {
|
|
31437
|
+
key: string;
|
|
31438
|
+
value: string;
|
|
31439
|
+
}[];
|
|
31440
|
+
/** @description Post events to subscribe to (default: both post.published and post.publish_failed) */
|
|
31441
|
+
events?: ("post.published" | "post.publish_failed")[];
|
|
30286
31442
|
};
|
|
30287
31443
|
};
|
|
30288
31444
|
};
|
|
@@ -30307,7 +31463,7 @@ export interface operations {
|
|
|
30307
31463
|
* @description The event source this webhook subscribes to.
|
|
30308
31464
|
* @enum {string}
|
|
30309
31465
|
*/
|
|
30310
|
-
source?: "messaging" | "user" | "account_status";
|
|
31466
|
+
source?: "messaging" | "user" | "account_status" | "post";
|
|
30311
31467
|
/** @description The URL that receives delivery POST requests. */
|
|
30312
31468
|
request_url?: string;
|
|
30313
31469
|
/** @description Human-readable label. */
|
|
@@ -30325,7 +31481,7 @@ export interface operations {
|
|
|
30325
31481
|
}[];
|
|
30326
31482
|
/** @description Canonical event names this webhook subscribes to. */
|
|
30327
31483
|
events?: string[];
|
|
30328
|
-
/** @description Field-remapping keys for the delivery payload (messaging and user sources only). */
|
|
31484
|
+
/** @description Field-remapping keys for the delivery payload (messaging and user sources only; post and account_status have none). */
|
|
30329
31485
|
data?: string[];
|
|
30330
31486
|
/**
|
|
30331
31487
|
* @description HMAC signing secret, 64 hexadecimal characters, returned exactly once at creation. Store it securely.
|
|
@@ -30427,7 +31583,7 @@ export interface operations {
|
|
|
30427
31583
|
object?: "webhook_event_catalogue";
|
|
30428
31584
|
/** @description Event types grouped by source. */
|
|
30429
31585
|
sources?: {
|
|
30430
|
-
/** @description Event source group (messaging, user, account_status, recruiter, sales_nav). */
|
|
31586
|
+
/** @description Event source group (messaging, user, account_status, post, recruiter, sales_nav). */
|
|
30431
31587
|
source?: string;
|
|
30432
31588
|
events?: {
|
|
30433
31589
|
/** @description Canonical event name. */
|
|
@@ -30585,7 +31741,7 @@ export interface operations {
|
|
|
30585
31741
|
* @description The event source this webhook subscribes to (immutable).
|
|
30586
31742
|
* @enum {string}
|
|
30587
31743
|
*/
|
|
30588
|
-
source?: "messaging" | "user" | "account_status";
|
|
31744
|
+
source?: "messaging" | "user" | "account_status" | "post";
|
|
30589
31745
|
/** @description The URL that receives delivery POST requests. */
|
|
30590
31746
|
request_url?: string;
|
|
30591
31747
|
/** @description Human-readable label. */
|
|
@@ -30603,7 +31759,7 @@ export interface operations {
|
|
|
30603
31759
|
}[];
|
|
30604
31760
|
/** @description Canonical event names this webhook subscribes to. */
|
|
30605
31761
|
events?: string[];
|
|
30606
|
-
/** @description Field-remapping keys for the delivery payload (messaging and user sources only). */
|
|
31762
|
+
/** @description Field-remapping keys for the delivery payload (messaging and user sources only; post and account_status have none). */
|
|
30607
31763
|
data?: string[];
|
|
30608
31764
|
/** @description First 8 characters of the signing secret. The full secret is never returned on edit, it is preserved unchanged. */
|
|
30609
31765
|
secret_prefix?: string;
|
|
@@ -30781,7 +31937,7 @@ export interface operations {
|
|
|
30781
31937
|
* @description The event source this webhook subscribes to (immutable).
|
|
30782
31938
|
* @enum {string}
|
|
30783
31939
|
*/
|
|
30784
|
-
source?: "messaging" | "user" | "account_status";
|
|
31940
|
+
source?: "messaging" | "user" | "account_status" | "post";
|
|
30785
31941
|
/** @description The URL that receives delivery POST requests. */
|
|
30786
31942
|
request_url?: string;
|
|
30787
31943
|
/** @description Human-readable label. */
|
|
@@ -30799,7 +31955,7 @@ export interface operations {
|
|
|
30799
31955
|
}[];
|
|
30800
31956
|
/** @description Canonical event names this webhook subscribes to. */
|
|
30801
31957
|
events?: string[];
|
|
30802
|
-
/** @description Field-remapping keys for the delivery payload (messaging and user sources only). */
|
|
31958
|
+
/** @description Field-remapping keys for the delivery payload (messaging and user sources only; post and account_status have none). */
|
|
30803
31959
|
data?: string[];
|
|
30804
31960
|
/** @description First 8 characters of the signing secret. The full secret is never returned on edit, it is preserved unchanged. */
|
|
30805
31961
|
secret_prefix?: string;
|