Skip to content
Follow yggy on LinkedInFollow @yggy_tech on X

Save a link as a note, or attach it to a note

POST
/api/v1/saga/links
curl --request POST \
--url https://api.yggy.tech/api/v1/saga/links \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "url": "example", "comment": "example", "parentNoteId": "example" }'

Yggy reads the link in the background: platform posts through their official oEmbed, other pages with one fetch.

Media type application/json
object
url
required

The link as pasted. yggy normalizes it.

string
>= 1 characters <= 2048 characters
comment

A short comment that becomes the note’s text.

string
<= 280 characters
parentNoteId

Attach the link to this note instead of making a new one.

string
/^[A-Za-z0-9_-]{1,128}$/
Example generated
{
"url": "example",
"comment": "example",
"parentNoteId": "example"
}

Saved; the link is being read

Media type application/json
object
noteId
required
string
linkId
required
string
existing
required

The link was already in a note; nothing was created.

boolean
Example generated
{
"noteId": "example",
"linkId": "example",
"existing": true
}

Not a link, or the comment is too long

Media type application/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: INTERNAL_ERROR VALIDATION_ERROR UNAUTHORIZED RATE_LIMITED ORG_REQUIRED FORBIDDEN NOT_FOUND CONFLICT PROJECT_DENIED USAGE_LIMIT_EXCEEDED HUGINN_ERROR HUGINN_STREAM_ERROR QUERY_FAILED PROVIDER_CONFLICT PROVIDER_CONFIG_INVALID PROVIDER_NOT_CONNECTED PROVIDER_RATE_LIMITED PROJECT_MEMBER_USER_NOT_IN_ORG PROJECT_MEMBER_UNKNOWN_ROLE PROJECT_MEMBER_LAST_OWNER PROJECT_CONFLICT STORAGE_NOT_CONFIGURED BILLING_NOT_CONFIGURED LICENSE_INACTIVE PLAN_REQUIRED MEMBER_LIMIT_REACHED SAGA_ASK_QUOTA_EXCEEDED SAGA_ASK_RATE_LIMITED SAGA_ASK_BUSY SAGA_ASK_PAUSED SAGA_ASK_UPSTREAM SAGA_DICTATION_BUSY SAGA_DICTATION_UNAVAILABLE SAGA_SHARE_LINK_LIMIT PROJECT_MEMBERSHIP_JWT_TOO_LARGE WEBHOOK_URL_INVALID WEBHOOK_ADDRESS_BLOCKED WEBHOOK_EVENT_UNKNOWN WEBHOOK_ENDPOINT_LIMIT WEBHOOK_ENDPOINT_DISABLED WEBHOOK_DELIVERY_IN_PROGRESS ORG_KEY_PERSONAL_SCOPE API_KEY_PERMISSION_EXCEEDS_ROLE API_KEY_NO_PERMISSIONS ORG_KEY_GRAPH_SCOPE_UNAVAILABLE ORG_KEY_TOO_MANY_PROJECTS SENDER_IS_LOGIN_EMAIL SENDER_TAKEN
details
Example
{
"success": false,
"error": {
"code": "INTERNAL_ERROR"
}
}

Note not found

Media type application/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: INTERNAL_ERROR VALIDATION_ERROR UNAUTHORIZED RATE_LIMITED ORG_REQUIRED FORBIDDEN NOT_FOUND CONFLICT PROJECT_DENIED USAGE_LIMIT_EXCEEDED HUGINN_ERROR HUGINN_STREAM_ERROR QUERY_FAILED PROVIDER_CONFLICT PROVIDER_CONFIG_INVALID PROVIDER_NOT_CONNECTED PROVIDER_RATE_LIMITED PROJECT_MEMBER_USER_NOT_IN_ORG PROJECT_MEMBER_UNKNOWN_ROLE PROJECT_MEMBER_LAST_OWNER PROJECT_CONFLICT STORAGE_NOT_CONFIGURED BILLING_NOT_CONFIGURED LICENSE_INACTIVE PLAN_REQUIRED MEMBER_LIMIT_REACHED SAGA_ASK_QUOTA_EXCEEDED SAGA_ASK_RATE_LIMITED SAGA_ASK_BUSY SAGA_ASK_PAUSED SAGA_ASK_UPSTREAM SAGA_DICTATION_BUSY SAGA_DICTATION_UNAVAILABLE SAGA_SHARE_LINK_LIMIT PROJECT_MEMBERSHIP_JWT_TOO_LARGE WEBHOOK_URL_INVALID WEBHOOK_ADDRESS_BLOCKED WEBHOOK_EVENT_UNKNOWN WEBHOOK_ENDPOINT_LIMIT WEBHOOK_ENDPOINT_DISABLED WEBHOOK_DELIVERY_IN_PROGRESS ORG_KEY_PERSONAL_SCOPE API_KEY_PERMISSION_EXCEEDS_ROLE API_KEY_NO_PERMISSIONS ORG_KEY_GRAPH_SCOPE_UNAVAILABLE ORG_KEY_TOO_MANY_PROJECTS SENDER_IS_LOGIN_EMAIL SENDER_TAKEN
details
Example
{
"success": false,
"error": {
"code": "INTERNAL_ERROR"
}
}

Too many links

Media type application/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: INTERNAL_ERROR VALIDATION_ERROR UNAUTHORIZED RATE_LIMITED ORG_REQUIRED FORBIDDEN NOT_FOUND CONFLICT PROJECT_DENIED USAGE_LIMIT_EXCEEDED HUGINN_ERROR HUGINN_STREAM_ERROR QUERY_FAILED PROVIDER_CONFLICT PROVIDER_CONFIG_INVALID PROVIDER_NOT_CONNECTED PROVIDER_RATE_LIMITED PROJECT_MEMBER_USER_NOT_IN_ORG PROJECT_MEMBER_UNKNOWN_ROLE PROJECT_MEMBER_LAST_OWNER PROJECT_CONFLICT STORAGE_NOT_CONFIGURED BILLING_NOT_CONFIGURED LICENSE_INACTIVE PLAN_REQUIRED MEMBER_LIMIT_REACHED SAGA_ASK_QUOTA_EXCEEDED SAGA_ASK_RATE_LIMITED SAGA_ASK_BUSY SAGA_ASK_PAUSED SAGA_ASK_UPSTREAM SAGA_DICTATION_BUSY SAGA_DICTATION_UNAVAILABLE SAGA_SHARE_LINK_LIMIT PROJECT_MEMBERSHIP_JWT_TOO_LARGE WEBHOOK_URL_INVALID WEBHOOK_ADDRESS_BLOCKED WEBHOOK_EVENT_UNKNOWN WEBHOOK_ENDPOINT_LIMIT WEBHOOK_ENDPOINT_DISABLED WEBHOOK_DELIVERY_IN_PROGRESS ORG_KEY_PERSONAL_SCOPE API_KEY_PERMISSION_EXCEEDS_ROLE API_KEY_NO_PERMISSIONS ORG_KEY_GRAPH_SCOPE_UNAVAILABLE ORG_KEY_TOO_MANY_PROJECTS SENDER_IS_LOGIN_EMAIL SENDER_TAKEN
details
Example
{
"success": false,
"error": {
"code": "INTERNAL_ERROR"
}
}