@curviate/sdk 0.17.0 → 0.18.1
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 +22 -0
- package/dist/index.d.ts +223 -2
- package/dist/index.js +37 -0
- package/package.json +1 -1
- package/src/generated/types.ts +183 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,28 @@ Versioning: semantic — minor for additive changes, patch for bug fixes; no sta
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [0.18.1] — 2026-07-18
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **`companies.sendMessage(identifier, chatId, body)`** now takes the normal `2-…`
|
|
17
|
+
chat id that `companies.chats()` / `chat()` / `searchChats()` return; the endpoint
|
|
18
|
+
resolves the page mailbox internally from `identifier`. The previous send-ready
|
|
19
|
+
`COMPANY_` chat-id requirement is gone: pass the id straight from the company chat
|
|
20
|
+
reads. Method signature and response shape are unchanged (documentation/behavior
|
|
21
|
+
only).
|
|
22
|
+
|
|
23
|
+
## [0.18.0] — 2026-07-17
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- **`companies.sendMessage(identifier, chatId, body)`**: reply to a company-inbox
|
|
28
|
+
conversation as the page. `POST /v1/{account_id}/companies/{identifier}/chats/{chat_id}/messages`.
|
|
29
|
+
`chatId` must be the send-ready `COMPANY_` chat id from `inboxes.listChats()`, not the
|
|
30
|
+
`2-…` id `companies.chats()`/`chat()`/`searchChats()` return; a non-`COMPANY_` id is
|
|
31
|
+
rejected with a guiding 400. Reply-only. The response echoes `sent_as`, the acting
|
|
32
|
+
identity actually used.
|
|
33
|
+
|
|
12
34
|
## [0.17.0] — 2026-07-17
|
|
13
35
|
|
|
14
36
|
### Added
|
package/dist/index.d.ts
CHANGED
|
@@ -541,7 +541,11 @@ interface paths {
|
|
|
541
541
|
*/
|
|
542
542
|
get: operations["getV1AccountIdCompaniesIdentifierChatsChatIdMessages"];
|
|
543
543
|
put?: never;
|
|
544
|
-
|
|
544
|
+
/**
|
|
545
|
+
* Reply as the company page
|
|
546
|
+
* @description Sends a message into an existing company-inbox conversation, as the page. chat_id must be the send-ready COMPANY_ form from GET /v1/{account_id}/inboxes/{inbox_id}/chats (the 2-… id from this group's chat reads is not send-ready and returns a guiding 400). The connected account must administer the page. Reply-only: a page can never start a new conversation, only answer an existing one. Send application/json with text, base64 attachments (max 5 MiB per file), or both; at least one of text or attachments is required. Message content passes through to the platform and is never stored. The response's sent_as field names the acting identity that was actually used.
|
|
547
|
+
*/
|
|
548
|
+
post: operations["postV1AccountIdCompaniesIdentifierChatsChatIdMessages"];
|
|
545
549
|
delete?: never;
|
|
546
550
|
options?: never;
|
|
547
551
|
head?: never;
|
|
@@ -6451,6 +6455,184 @@ interface operations {
|
|
|
6451
6455
|
};
|
|
6452
6456
|
};
|
|
6453
6457
|
};
|
|
6458
|
+
postV1AccountIdCompaniesIdentifierChatsChatIdMessages: {
|
|
6459
|
+
parameters: {
|
|
6460
|
+
query?: never;
|
|
6461
|
+
header?: never;
|
|
6462
|
+
path: {
|
|
6463
|
+
/** @description The connected LinkedIn account, which must administer the page. */
|
|
6464
|
+
account_id: string;
|
|
6465
|
+
/** @description The company's numeric id (e.g. 112013061) — the id field of GET /v1/{account_id}/companies/{identifier} or a POST /v1/{account_id}/search/companies result. A public handle or URN is not accepted here — pass the numeric id. */
|
|
6466
|
+
identifier: string;
|
|
6467
|
+
/** @description The COMPANY_ chat id to reply to (e.g. 'COMPANY_83734124_2-…'), from GET /v1/{account_id}/inboxes/{inbox_id}/chats, not the 2-… id from this group's chat reads (that form is rejected with a guiding 400). */
|
|
6468
|
+
chat_id: string;
|
|
6469
|
+
};
|
|
6470
|
+
cookie?: never;
|
|
6471
|
+
};
|
|
6472
|
+
requestBody: {
|
|
6473
|
+
content: {
|
|
6474
|
+
"application/json": {
|
|
6475
|
+
/** @description Message text (1–8000 chars). Optional when at least one attachment is supplied. */
|
|
6476
|
+
text?: string;
|
|
6477
|
+
/** @description Optional message ID to quote or reply to. */
|
|
6478
|
+
quote_id?: string;
|
|
6479
|
+
/** @description Optional file attachments (base64-encoded). */
|
|
6480
|
+
attachments?: {
|
|
6481
|
+
/** @description Base64-encoded file bytes. */
|
|
6482
|
+
content: string;
|
|
6483
|
+
/** @description Attachment MIME type (e.g. image/png, application/pdf). */
|
|
6484
|
+
content_type: string;
|
|
6485
|
+
/** @description File name for the attachment. */
|
|
6486
|
+
filename: string;
|
|
6487
|
+
}[];
|
|
6488
|
+
};
|
|
6489
|
+
};
|
|
6490
|
+
};
|
|
6491
|
+
responses: {
|
|
6492
|
+
/** @description Message sent as the page. Returns the new message_id and sent_as, the acting identity, always kind:'company' on this endpoint. company_id is null when the page could not be correlated to a managed page on Curviate, even though the page itself and its name are still known. */
|
|
6493
|
+
201: {
|
|
6494
|
+
headers: {
|
|
6495
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6496
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6497
|
+
[name: string]: unknown;
|
|
6498
|
+
};
|
|
6499
|
+
content: {
|
|
6500
|
+
"application/json": {
|
|
6501
|
+
/**
|
|
6502
|
+
* @description Response type discriminator.
|
|
6503
|
+
* @enum {string}
|
|
6504
|
+
*/
|
|
6505
|
+
object?: "message_sent";
|
|
6506
|
+
/** @description The sent message's identifier. */
|
|
6507
|
+
message_id?: string;
|
|
6508
|
+
/** @description The identity this message was actually sent as. */
|
|
6509
|
+
sent_as?: {
|
|
6510
|
+
/**
|
|
6511
|
+
* @description Which identity sent the message.
|
|
6512
|
+
* @enum {string}
|
|
6513
|
+
*/
|
|
6514
|
+
kind?: "personal" | "company";
|
|
6515
|
+
/** @description Company inboxes only. Null when this page is not one of the account's managed companies on Curviate, even though the page itself, and its name, are still known. */
|
|
6516
|
+
company_id?: string | null;
|
|
6517
|
+
/** @description Company inboxes only. The page's display name, or null in the rare case the page itself could not be resolved at all. */
|
|
6518
|
+
name?: string | null;
|
|
6519
|
+
};
|
|
6520
|
+
};
|
|
6521
|
+
};
|
|
6522
|
+
};
|
|
6523
|
+
/** @description Empty body or neither text nor attachment supplied, a non-numeric identifier, or chat_id is not the send-ready COMPANY_ form (the guiding error names the required form and its /inboxes source). */
|
|
6524
|
+
400: {
|
|
6525
|
+
headers: {
|
|
6526
|
+
[name: string]: unknown;
|
|
6527
|
+
};
|
|
6528
|
+
content: {
|
|
6529
|
+
"application/json": components["schemas"]["Error"];
|
|
6530
|
+
};
|
|
6531
|
+
};
|
|
6532
|
+
/** @description Missing or invalid API key. */
|
|
6533
|
+
401: {
|
|
6534
|
+
headers: {
|
|
6535
|
+
[name: string]: unknown;
|
|
6536
|
+
};
|
|
6537
|
+
content: {
|
|
6538
|
+
"application/json": components["schemas"]["Error"];
|
|
6539
|
+
};
|
|
6540
|
+
};
|
|
6541
|
+
/** @description The account does not administer this page (the substrate's own admin gate), the COMPANY_ chat's mailbox correlates to a DIFFERENT company than {identifier}, or the account lacks the required Core seat. */
|
|
6542
|
+
403: {
|
|
6543
|
+
headers: {
|
|
6544
|
+
[name: string]: unknown;
|
|
6545
|
+
};
|
|
6546
|
+
content: {
|
|
6547
|
+
"application/json": components["schemas"]["Error"];
|
|
6548
|
+
};
|
|
6549
|
+
};
|
|
6550
|
+
/** @description The account_id does not belong to this tenant. */
|
|
6551
|
+
404: {
|
|
6552
|
+
headers: {
|
|
6553
|
+
[name: string]: unknown;
|
|
6554
|
+
};
|
|
6555
|
+
content: {
|
|
6556
|
+
"application/json": components["schemas"]["Error"];
|
|
6557
|
+
};
|
|
6558
|
+
};
|
|
6559
|
+
/** @description Payload too large, an attachment exceeds 5 MiB or the total body exceeds 8 MiB. */
|
|
6560
|
+
413: {
|
|
6561
|
+
headers: {
|
|
6562
|
+
[name: string]: unknown;
|
|
6563
|
+
};
|
|
6564
|
+
content: {
|
|
6565
|
+
"application/json": components["schemas"]["Error"];
|
|
6566
|
+
};
|
|
6567
|
+
};
|
|
6568
|
+
/** @description Unsupported media type, the request must use application/json. */
|
|
6569
|
+
415: {
|
|
6570
|
+
headers: {
|
|
6571
|
+
[name: string]: unknown;
|
|
6572
|
+
};
|
|
6573
|
+
content: {
|
|
6574
|
+
"application/json": components["schemas"]["Error"];
|
|
6575
|
+
};
|
|
6576
|
+
};
|
|
6577
|
+
/** @description The account is restricted and cannot be queried. */
|
|
6578
|
+
422: {
|
|
6579
|
+
headers: {
|
|
6580
|
+
[name: string]: unknown;
|
|
6581
|
+
};
|
|
6582
|
+
content: {
|
|
6583
|
+
"application/json": components["schemas"]["Error"];
|
|
6584
|
+
};
|
|
6585
|
+
};
|
|
6586
|
+
/** @description Rate limited, slow down and retry after the hinted delay. */
|
|
6587
|
+
429: {
|
|
6588
|
+
headers: {
|
|
6589
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6590
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6591
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
6592
|
+
[name: string]: unknown;
|
|
6593
|
+
};
|
|
6594
|
+
content: {
|
|
6595
|
+
"application/json": components["schemas"]["Error"];
|
|
6596
|
+
};
|
|
6597
|
+
};
|
|
6598
|
+
/** @description Internal error. */
|
|
6599
|
+
500: {
|
|
6600
|
+
headers: {
|
|
6601
|
+
[name: string]: unknown;
|
|
6602
|
+
};
|
|
6603
|
+
content: {
|
|
6604
|
+
"application/json": components["schemas"]["Error"];
|
|
6605
|
+
};
|
|
6606
|
+
};
|
|
6607
|
+
/** @description A temporary error occurred. Please try again. */
|
|
6608
|
+
502: {
|
|
6609
|
+
headers: {
|
|
6610
|
+
[name: string]: unknown;
|
|
6611
|
+
};
|
|
6612
|
+
content: {
|
|
6613
|
+
"application/json": components["schemas"]["Error"];
|
|
6614
|
+
};
|
|
6615
|
+
};
|
|
6616
|
+
/** @description Service unavailable. */
|
|
6617
|
+
503: {
|
|
6618
|
+
headers: {
|
|
6619
|
+
[name: string]: unknown;
|
|
6620
|
+
};
|
|
6621
|
+
content: {
|
|
6622
|
+
"application/json": components["schemas"]["Error"];
|
|
6623
|
+
};
|
|
6624
|
+
};
|
|
6625
|
+
/** @description Gateway timeout. */
|
|
6626
|
+
504: {
|
|
6627
|
+
headers: {
|
|
6628
|
+
[name: string]: unknown;
|
|
6629
|
+
};
|
|
6630
|
+
content: {
|
|
6631
|
+
"application/json": components["schemas"]["Error"];
|
|
6632
|
+
};
|
|
6633
|
+
};
|
|
6634
|
+
};
|
|
6635
|
+
};
|
|
6454
6636
|
getV1AccountIdCompaniesIdentifierChatsChatIdMessagesMessageId: {
|
|
6455
6637
|
parameters: {
|
|
6456
6638
|
query?: never;
|
|
@@ -28499,7 +28681,7 @@ declare class JobsResource {
|
|
|
28499
28681
|
}
|
|
28500
28682
|
|
|
28501
28683
|
/**
|
|
28502
|
-
* Companies resource —
|
|
28684
|
+
* Companies resource — 14 methods.
|
|
28503
28685
|
*
|
|
28504
28686
|
* Account-scoped: the bound context injects `account_id` as the leading
|
|
28505
28687
|
* `/v1/` path segment on every request (account-first grammar) — the 0.14.1
|
|
@@ -28525,6 +28707,12 @@ declare class JobsResource {
|
|
|
28525
28707
|
* **Beta:** single-page listing and termination are verified; deep pagination
|
|
28526
28708
|
* (many pages / large cursor round-trips) is still being validated against a
|
|
28527
28709
|
* busier inbox.
|
|
28710
|
+
*
|
|
28711
|
+
* `sendMessage()` is the inbox's one write: reply to an existing
|
|
28712
|
+
* conversation AS THE PAGE. It takes the same `2-…` chat id that
|
|
28713
|
+
* `chats()` / `searchChats()` return; the endpoint resolves the page
|
|
28714
|
+
* mailbox internally from `identifier`. Reply-only, same admin
|
|
28715
|
+
* requirement as the reads.
|
|
28528
28716
|
*/
|
|
28529
28717
|
|
|
28530
28718
|
type CompanyProfile = paths["/v1/{account_id}/companies/{identifier}"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
@@ -28550,6 +28738,8 @@ type CompanyChatMessageListQuery = NonNullable<paths["/v1/{account_id}/companies
|
|
|
28550
28738
|
type CompanyChatMessage = paths["/v1/{account_id}/companies/{identifier}/chats/{chat_id}/messages/{message_id}"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
28551
28739
|
type CompanyChatSearchPage = paths["/v1/{account_id}/companies/{identifier}/chats/search"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
28552
28740
|
type CompanyChatSearchQuery = NonNullable<paths["/v1/{account_id}/companies/{identifier}/chats/search"]["get"]["parameters"]["query"]>;
|
|
28741
|
+
type CompanySendMessageBody = paths["/v1/{account_id}/companies/{identifier}/chats/{chat_id}/messages"]["post"]["requestBody"]["content"]["application/json"];
|
|
28742
|
+
type CompanySendMessageResult = paths["/v1/{account_id}/companies/{identifier}/chats/{chat_id}/messages"]["post"]["responses"]["201"]["content"]["application/json"];
|
|
28553
28743
|
declare class CompaniesResource {
|
|
28554
28744
|
protected readonly ctx: RequestContext;
|
|
28555
28745
|
constructor(ctx: RequestContext);
|
|
@@ -28673,6 +28863,37 @@ declare class CompaniesResource {
|
|
|
28673
28863
|
* administer the page. Beta — see `chats()`.
|
|
28674
28864
|
*/
|
|
28675
28865
|
searchChats(identifier: string, params?: CompanyChatSearchQuery): Promise<CompanyChatSearchPage>;
|
|
28866
|
+
/**
|
|
28867
|
+
* Reply to a company-inbox conversation, AS THE PAGE.
|
|
28868
|
+
* `POST /v1/{account_id}/companies/{identifier}/chats/{chat_id}/messages`
|
|
28869
|
+
*
|
|
28870
|
+
* `chatId` is the `2-…` conversation id that `chats()` / `chat()` /
|
|
28871
|
+
* `searchChats()` return for this page. The endpoint resolves the page
|
|
28872
|
+
* mailbox internally from `identifier`, so no special send-ready id is
|
|
28873
|
+
* needed: pass the id straight from the company chat reads.
|
|
28874
|
+
*
|
|
28875
|
+
* Reply-only: this method can only answer an existing conversation, it
|
|
28876
|
+
* cannot start a new one on the page's behalf. The connected account
|
|
28877
|
+
* must administer the page (`managed()`). `attachments[]`, when
|
|
28878
|
+
* supplied, carry base64-encoded file bytes, always sent as JSON, never
|
|
28879
|
+
* multipart. At least one of `text`/`attachments` is required (enforced
|
|
28880
|
+
* server-side). Message content passes through verbatim and is never
|
|
28881
|
+
* stored.
|
|
28882
|
+
*
|
|
28883
|
+
* The response echoes `sent_as`, the acting identity actually used:
|
|
28884
|
+
* `{ kind: "company", company_id, name }` (`company_id` is `null` when
|
|
28885
|
+
* the page could not be correlated to a managed page on Curviate).
|
|
28886
|
+
*
|
|
28887
|
+
* @example
|
|
28888
|
+
* const acc = curviate.account("acc_YOUR_ACCOUNT_ID");
|
|
28889
|
+
* const { items: chats } = await acc.companies.chats("112013061");
|
|
28890
|
+
*
|
|
28891
|
+
* const result = await acc.companies.sendMessage("112013061", chats[0]!.id, {
|
|
28892
|
+
* text: "Thanks for reaching out, happy to help!",
|
|
28893
|
+
* });
|
|
28894
|
+
* console.log(result.sent_as); // { kind: "company", company_id: "112013061", name: "RedHire" }
|
|
28895
|
+
*/
|
|
28896
|
+
sendMessage(identifier: string, chatId: string, body: CompanySendMessageBody): Promise<CompanySendMessageResult>;
|
|
28676
28897
|
}
|
|
28677
28898
|
|
|
28678
28899
|
/**
|
package/dist/index.js
CHANGED
|
@@ -2371,6 +2371,43 @@ var CompaniesResource = class {
|
|
|
2371
2371
|
...params ? { query: params } : {}
|
|
2372
2372
|
});
|
|
2373
2373
|
}
|
|
2374
|
+
/**
|
|
2375
|
+
* Reply to a company-inbox conversation, AS THE PAGE.
|
|
2376
|
+
* `POST /v1/{account_id}/companies/{identifier}/chats/{chat_id}/messages`
|
|
2377
|
+
*
|
|
2378
|
+
* `chatId` is the `2-…` conversation id that `chats()` / `chat()` /
|
|
2379
|
+
* `searchChats()` return for this page. The endpoint resolves the page
|
|
2380
|
+
* mailbox internally from `identifier`, so no special send-ready id is
|
|
2381
|
+
* needed: pass the id straight from the company chat reads.
|
|
2382
|
+
*
|
|
2383
|
+
* Reply-only: this method can only answer an existing conversation, it
|
|
2384
|
+
* cannot start a new one on the page's behalf. The connected account
|
|
2385
|
+
* must administer the page (`managed()`). `attachments[]`, when
|
|
2386
|
+
* supplied, carry base64-encoded file bytes, always sent as JSON, never
|
|
2387
|
+
* multipart. At least one of `text`/`attachments` is required (enforced
|
|
2388
|
+
* server-side). Message content passes through verbatim and is never
|
|
2389
|
+
* stored.
|
|
2390
|
+
*
|
|
2391
|
+
* The response echoes `sent_as`, the acting identity actually used:
|
|
2392
|
+
* `{ kind: "company", company_id, name }` (`company_id` is `null` when
|
|
2393
|
+
* the page could not be correlated to a managed page on Curviate).
|
|
2394
|
+
*
|
|
2395
|
+
* @example
|
|
2396
|
+
* const acc = curviate.account("acc_YOUR_ACCOUNT_ID");
|
|
2397
|
+
* const { items: chats } = await acc.companies.chats("112013061");
|
|
2398
|
+
*
|
|
2399
|
+
* const result = await acc.companies.sendMessage("112013061", chats[0]!.id, {
|
|
2400
|
+
* text: "Thanks for reaching out, happy to help!",
|
|
2401
|
+
* });
|
|
2402
|
+
* console.log(result.sent_as); // { kind: "company", company_id: "112013061", name: "RedHire" }
|
|
2403
|
+
*/
|
|
2404
|
+
sendMessage(identifier, chatId, body) {
|
|
2405
|
+
return this.ctx.request({
|
|
2406
|
+
method: "POST",
|
|
2407
|
+
path: `/v1/{account_id}/companies/${identifier}/chats/${chatId}/messages`,
|
|
2408
|
+
body
|
|
2409
|
+
});
|
|
2410
|
+
}
|
|
2374
2411
|
};
|
|
2375
2412
|
|
|
2376
2413
|
// src/resources/webhooks.ts
|
package/package.json
CHANGED
package/src/generated/types.ts
CHANGED
|
@@ -443,7 +443,11 @@ export interface paths {
|
|
|
443
443
|
*/
|
|
444
444
|
get: operations["getV1AccountIdCompaniesIdentifierChatsChatIdMessages"];
|
|
445
445
|
put?: never;
|
|
446
|
-
|
|
446
|
+
/**
|
|
447
|
+
* Reply as the company page
|
|
448
|
+
* @description Sends a message into an existing company-inbox conversation, as the page. chat_id must be the send-ready COMPANY_ form from GET /v1/{account_id}/inboxes/{inbox_id}/chats (the 2-… id from this group's chat reads is not send-ready and returns a guiding 400). The connected account must administer the page. Reply-only: a page can never start a new conversation, only answer an existing one. Send application/json with text, base64 attachments (max 5 MiB per file), or both; at least one of text or attachments is required. Message content passes through to the platform and is never stored. The response's sent_as field names the acting identity that was actually used.
|
|
449
|
+
*/
|
|
450
|
+
post: operations["postV1AccountIdCompaniesIdentifierChatsChatIdMessages"];
|
|
447
451
|
delete?: never;
|
|
448
452
|
options?: never;
|
|
449
453
|
head?: never;
|
|
@@ -6355,6 +6359,184 @@ export interface operations {
|
|
|
6355
6359
|
};
|
|
6356
6360
|
};
|
|
6357
6361
|
};
|
|
6362
|
+
postV1AccountIdCompaniesIdentifierChatsChatIdMessages: {
|
|
6363
|
+
parameters: {
|
|
6364
|
+
query?: never;
|
|
6365
|
+
header?: never;
|
|
6366
|
+
path: {
|
|
6367
|
+
/** @description The connected LinkedIn account, which must administer the page. */
|
|
6368
|
+
account_id: string;
|
|
6369
|
+
/** @description The company's numeric id (e.g. 112013061) — the id field of GET /v1/{account_id}/companies/{identifier} or a POST /v1/{account_id}/search/companies result. A public handle or URN is not accepted here — pass the numeric id. */
|
|
6370
|
+
identifier: string;
|
|
6371
|
+
/** @description The COMPANY_ chat id to reply to (e.g. 'COMPANY_83734124_2-…'), from GET /v1/{account_id}/inboxes/{inbox_id}/chats, not the 2-… id from this group's chat reads (that form is rejected with a guiding 400). */
|
|
6372
|
+
chat_id: string;
|
|
6373
|
+
};
|
|
6374
|
+
cookie?: never;
|
|
6375
|
+
};
|
|
6376
|
+
requestBody: {
|
|
6377
|
+
content: {
|
|
6378
|
+
"application/json": {
|
|
6379
|
+
/** @description Message text (1–8000 chars). Optional when at least one attachment is supplied. */
|
|
6380
|
+
text?: string;
|
|
6381
|
+
/** @description Optional message ID to quote or reply to. */
|
|
6382
|
+
quote_id?: string;
|
|
6383
|
+
/** @description Optional file attachments (base64-encoded). */
|
|
6384
|
+
attachments?: {
|
|
6385
|
+
/** @description Base64-encoded file bytes. */
|
|
6386
|
+
content: string;
|
|
6387
|
+
/** @description Attachment MIME type (e.g. image/png, application/pdf). */
|
|
6388
|
+
content_type: string;
|
|
6389
|
+
/** @description File name for the attachment. */
|
|
6390
|
+
filename: string;
|
|
6391
|
+
}[];
|
|
6392
|
+
};
|
|
6393
|
+
};
|
|
6394
|
+
};
|
|
6395
|
+
responses: {
|
|
6396
|
+
/** @description Message sent as the page. Returns the new message_id and sent_as, the acting identity, always kind:'company' on this endpoint. company_id is null when the page could not be correlated to a managed page on Curviate, even though the page itself and its name are still known. */
|
|
6397
|
+
201: {
|
|
6398
|
+
headers: {
|
|
6399
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6400
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6401
|
+
[name: string]: unknown;
|
|
6402
|
+
};
|
|
6403
|
+
content: {
|
|
6404
|
+
"application/json": {
|
|
6405
|
+
/**
|
|
6406
|
+
* @description Response type discriminator.
|
|
6407
|
+
* @enum {string}
|
|
6408
|
+
*/
|
|
6409
|
+
object?: "message_sent";
|
|
6410
|
+
/** @description The sent message's identifier. */
|
|
6411
|
+
message_id?: string;
|
|
6412
|
+
/** @description The identity this message was actually sent as. */
|
|
6413
|
+
sent_as?: {
|
|
6414
|
+
/**
|
|
6415
|
+
* @description Which identity sent the message.
|
|
6416
|
+
* @enum {string}
|
|
6417
|
+
*/
|
|
6418
|
+
kind?: "personal" | "company";
|
|
6419
|
+
/** @description Company inboxes only. Null when this page is not one of the account's managed companies on Curviate, even though the page itself, and its name, are still known. */
|
|
6420
|
+
company_id?: string | null;
|
|
6421
|
+
/** @description Company inboxes only. The page's display name, or null in the rare case the page itself could not be resolved at all. */
|
|
6422
|
+
name?: string | null;
|
|
6423
|
+
};
|
|
6424
|
+
};
|
|
6425
|
+
};
|
|
6426
|
+
};
|
|
6427
|
+
/** @description Empty body or neither text nor attachment supplied, a non-numeric identifier, or chat_id is not the send-ready COMPANY_ form (the guiding error names the required form and its /inboxes source). */
|
|
6428
|
+
400: {
|
|
6429
|
+
headers: {
|
|
6430
|
+
[name: string]: unknown;
|
|
6431
|
+
};
|
|
6432
|
+
content: {
|
|
6433
|
+
"application/json": components["schemas"]["Error"];
|
|
6434
|
+
};
|
|
6435
|
+
};
|
|
6436
|
+
/** @description Missing or invalid API key. */
|
|
6437
|
+
401: {
|
|
6438
|
+
headers: {
|
|
6439
|
+
[name: string]: unknown;
|
|
6440
|
+
};
|
|
6441
|
+
content: {
|
|
6442
|
+
"application/json": components["schemas"]["Error"];
|
|
6443
|
+
};
|
|
6444
|
+
};
|
|
6445
|
+
/** @description The account does not administer this page (the substrate's own admin gate), the COMPANY_ chat's mailbox correlates to a DIFFERENT company than {identifier}, or the account lacks the required Core seat. */
|
|
6446
|
+
403: {
|
|
6447
|
+
headers: {
|
|
6448
|
+
[name: string]: unknown;
|
|
6449
|
+
};
|
|
6450
|
+
content: {
|
|
6451
|
+
"application/json": components["schemas"]["Error"];
|
|
6452
|
+
};
|
|
6453
|
+
};
|
|
6454
|
+
/** @description The account_id does not belong to this tenant. */
|
|
6455
|
+
404: {
|
|
6456
|
+
headers: {
|
|
6457
|
+
[name: string]: unknown;
|
|
6458
|
+
};
|
|
6459
|
+
content: {
|
|
6460
|
+
"application/json": components["schemas"]["Error"];
|
|
6461
|
+
};
|
|
6462
|
+
};
|
|
6463
|
+
/** @description Payload too large, an attachment exceeds 5 MiB or the total body exceeds 8 MiB. */
|
|
6464
|
+
413: {
|
|
6465
|
+
headers: {
|
|
6466
|
+
[name: string]: unknown;
|
|
6467
|
+
};
|
|
6468
|
+
content: {
|
|
6469
|
+
"application/json": components["schemas"]["Error"];
|
|
6470
|
+
};
|
|
6471
|
+
};
|
|
6472
|
+
/** @description Unsupported media type, the request must use application/json. */
|
|
6473
|
+
415: {
|
|
6474
|
+
headers: {
|
|
6475
|
+
[name: string]: unknown;
|
|
6476
|
+
};
|
|
6477
|
+
content: {
|
|
6478
|
+
"application/json": components["schemas"]["Error"];
|
|
6479
|
+
};
|
|
6480
|
+
};
|
|
6481
|
+
/** @description The account is restricted and cannot be queried. */
|
|
6482
|
+
422: {
|
|
6483
|
+
headers: {
|
|
6484
|
+
[name: string]: unknown;
|
|
6485
|
+
};
|
|
6486
|
+
content: {
|
|
6487
|
+
"application/json": components["schemas"]["Error"];
|
|
6488
|
+
};
|
|
6489
|
+
};
|
|
6490
|
+
/** @description Rate limited, slow down and retry after the hinted delay. */
|
|
6491
|
+
429: {
|
|
6492
|
+
headers: {
|
|
6493
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6494
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6495
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
6496
|
+
[name: string]: unknown;
|
|
6497
|
+
};
|
|
6498
|
+
content: {
|
|
6499
|
+
"application/json": components["schemas"]["Error"];
|
|
6500
|
+
};
|
|
6501
|
+
};
|
|
6502
|
+
/** @description Internal error. */
|
|
6503
|
+
500: {
|
|
6504
|
+
headers: {
|
|
6505
|
+
[name: string]: unknown;
|
|
6506
|
+
};
|
|
6507
|
+
content: {
|
|
6508
|
+
"application/json": components["schemas"]["Error"];
|
|
6509
|
+
};
|
|
6510
|
+
};
|
|
6511
|
+
/** @description A temporary error occurred. Please try again. */
|
|
6512
|
+
502: {
|
|
6513
|
+
headers: {
|
|
6514
|
+
[name: string]: unknown;
|
|
6515
|
+
};
|
|
6516
|
+
content: {
|
|
6517
|
+
"application/json": components["schemas"]["Error"];
|
|
6518
|
+
};
|
|
6519
|
+
};
|
|
6520
|
+
/** @description Service unavailable. */
|
|
6521
|
+
503: {
|
|
6522
|
+
headers: {
|
|
6523
|
+
[name: string]: unknown;
|
|
6524
|
+
};
|
|
6525
|
+
content: {
|
|
6526
|
+
"application/json": components["schemas"]["Error"];
|
|
6527
|
+
};
|
|
6528
|
+
};
|
|
6529
|
+
/** @description Gateway timeout. */
|
|
6530
|
+
504: {
|
|
6531
|
+
headers: {
|
|
6532
|
+
[name: string]: unknown;
|
|
6533
|
+
};
|
|
6534
|
+
content: {
|
|
6535
|
+
"application/json": components["schemas"]["Error"];
|
|
6536
|
+
};
|
|
6537
|
+
};
|
|
6538
|
+
};
|
|
6539
|
+
};
|
|
6358
6540
|
getV1AccountIdCompaniesIdentifierChatsChatIdMessagesMessageId: {
|
|
6359
6541
|
parameters: {
|
|
6360
6542
|
query?: never;
|