At

 view release on metacpan or  search on metacpan

lib/At/Protocol/DID.pm  view on Meta::CPAN

=head2 C<ensureValidDid( ... )>

    ensureValidDid( 'did:plc:z72i7hdynmk6r22z27h6tvur' );

Validates a DID. Throws errors on failure and returns a true value on success.

=head2 C<ensureValidDidRegex( ... )>

    ensureValidDidRegex( 'did:method::nope' );

Validates a DID with cursory regex provided by the AT protocol designers. Throws errors on failure and returns a true
value on success.

=head1 See Also

L<https://atproto.com/specs/did>

=head1 LICENSE

Copyright (C) Sanko Robinson.

lib/At/Protocol/Handle.pm  view on Meta::CPAN

=head2 C<ensureValidHandle( ... )>

    ensureValidHandle( 'org.cpan.sanko' );

Validates an id. Throws errors on failure and returns a true value on success.

=head2 C<ensureValidHandleRegex( ... )>

    ensureValidHandleRegex( 'org.cpan.sanko' );

Validates an id with cursory regex provided by the AT protocol designers. Throws errors on failure and returns a true
value on success.

=head2 C<normalizeHandle( ... )>

    my $handle = ensureValidHandleRegex( 'org.cpan.SANKO' );

Normalizes a handle according to spec. ...honestly, it just makes sure it's lowercase.

=head2 C<normalizeAndEnsureValidHandle( ... )>

lib/At/Protocol/NSID.pm  view on Meta::CPAN

=head2 C<ensureValidNsid( ... )>

    ensureValidNsid( '.com.example.wrong' );

Validates an NSID. Throws errors on failure and returns a true value on success.

=head2 C<ensureValidNsidRegex( ... )>

    ensureValidNsidRegex( 'com.example.right' );

Validates an NSID with cursory regex provided by the AT protocol designers. Throws errors on failure and returns a true
value on success.

=head1 See Also

L<https://atproto.com/specs/nsid>

=head1 LICENSE

Copyright (C) Sanko Robinson.

lib/At/Protocol/URI.pm  view on Meta::CPAN

=head2 C<ensureValidAtUri( ... )>

    ensureValidAtUri( 'at://did:plc:asdf123' );

Validates an AT URI. Throws errors on failure and returns a true value on success.

=head2 C<ensureValidAtUriRegex( ... )>

    ensureValidAtUriRegex( 'a://did:plc:asdf123' ); # fatal

Validates an AT URI with cursory regex provided by the AT protocol designers. Throws errors on failure and returns a
true value on success.

=head1 See Also

L<https://atproto.com/specs/at-uri-scheme>

=head1 LICENSE

Copyright (C) Sanko Robinson.

share/lexicons/app/bsky/actor/getSuggestions.json  view on Meta::CPAN

      "description": "Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding.",
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["actors"],
          "properties": {
            "cursor": { "type": "string" },
            "actors": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.actor.defs#profileView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/actor/searchActors.json  view on Meta::CPAN

          "q": {
            "type": "string",
            "description": "Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["actors"],
          "properties": {
            "cursor": { "type": "string" },
            "actors": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.actor.defs#profileView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/feed/getActorFeeds.json  view on Meta::CPAN

        "type": "params",
        "required": ["actor"],
        "properties": {
          "actor": { "type": "string", "format": "at-identifier" },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["feeds"],
          "properties": {
            "cursor": { "type": "string" },
            "feeds": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#generatorView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/feed/getActorLikes.json  view on Meta::CPAN

        "type": "params",
        "required": ["actor"],
        "properties": {
          "actor": { "type": "string", "format": "at-identifier" },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["feed"],
          "properties": {
            "cursor": { "type": "string" },
            "feed": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#feedViewPost"
              }
            }
          }
        }
      },

share/lexicons/app/bsky/feed/getAuthorFeed.json  view on Meta::CPAN

        "type": "params",
        "required": ["actor"],
        "properties": {
          "actor": { "type": "string", "format": "at-identifier" },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" },
          "filter": {
            "type": "string",
            "description": "Combinations of post/repost types to include in response.",
            "knownValues": [
              "posts_with_replies",
              "posts_no_replies",
              "posts_with_media",
              "posts_and_author_threads"
            ],
            "default": "posts_with_replies"

share/lexicons/app/bsky/feed/getAuthorFeed.json  view on Meta::CPAN

            "default": false
          }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["feed"],
          "properties": {
            "cursor": { "type": "string" },
            "feed": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#feedViewPost"
              }
            }
          }
        }
      },

share/lexicons/app/bsky/feed/getFeed.json  view on Meta::CPAN

        "type": "params",
        "required": ["feed"],
        "properties": {
          "feed": { "type": "string", "format": "at-uri" },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["feed"],
          "properties": {
            "cursor": { "type": "string" },
            "feed": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#feedViewPost"
              }
            }
          }
        }
      },

share/lexicons/app/bsky/feed/getFeedSkeleton.json  view on Meta::CPAN

            "type": "string",
            "format": "at-uri",
            "description": "Reference to feed generator record describing the specific feed being requested."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["feed"],
          "properties": {
            "cursor": { "type": "string" },
            "feed": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#skeletonFeedPost"
              }
            }
          }
        }
      },

share/lexicons/app/bsky/feed/getLikes.json  view on Meta::CPAN

            "type": "string",
            "format": "cid",
            "description": "CID of the subject record (aka, specific version of record), to filter likes."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["uri", "likes"],
          "properties": {
            "uri": { "type": "string", "format": "at-uri" },
            "cid": { "type": "string", "format": "cid" },
            "cursor": { "type": "string" },
            "likes": {
              "type": "array",
              "items": { "type": "ref", "ref": "#like" }
            }
          }
        }
      }
    },
    "like": {
      "type": "object",

share/lexicons/app/bsky/feed/getListFeed.json  view on Meta::CPAN

            "type": "string",
            "format": "at-uri",
            "description": "Reference (AT-URI) to the list record."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["feed"],
          "properties": {
            "cursor": { "type": "string" },
            "feed": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#feedViewPost"
              }
            }
          }
        }
      },

share/lexicons/app/bsky/feed/getQuotes.json  view on Meta::CPAN

            "type": "string",
            "format": "cid",
            "description": "If supplied, filters to quotes of specific version (by CID) of the post record."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["uri", "posts"],
          "properties": {
            "uri": { "type": "string", "format": "at-uri" },
            "cid": { "type": "string", "format": "cid" },
            "cursor": { "type": "string" },
            "posts": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#postView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/feed/getRepostedBy.json  view on Meta::CPAN

            "type": "string",
            "format": "cid",
            "description": "If supplied, filters to reposts of specific version (by CID) of the post record."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["uri", "repostedBy"],
          "properties": {
            "uri": { "type": "string", "format": "at-uri" },
            "cid": { "type": "string", "format": "cid" },
            "cursor": { "type": "string" },
            "repostedBy": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.actor.defs#profileView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/feed/getSuggestedFeeds.json  view on Meta::CPAN

      "description": "Get a list of suggested feeds (feed generators) for the requesting account.",
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["feeds"],
          "properties": {
            "cursor": { "type": "string" },
            "feeds": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#generatorView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/feed/getTimeline.json  view on Meta::CPAN

          "algorithm": {
            "type": "string",
            "description": "Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["feed"],
          "properties": {
            "cursor": { "type": "string" },
            "feed": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#feedViewPost"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/feed/searchPosts.json  view on Meta::CPAN

              "maxGraphemes": 64
            },
            "description": "Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "cursor": {
            "type": "string",
            "description": "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
          }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["posts"],
          "properties": {
            "cursor": { "type": "string" },
            "hitsTotal": {
              "type": "integer",
              "description": "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
            },
            "posts": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.feed.defs#postView"
              }

share/lexicons/app/bsky/graph/getActorStarterPacks.json  view on Meta::CPAN

        "type": "params",
        "required": ["actor"],
        "properties": {
          "actor": { "type": "string", "format": "at-identifier" },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["starterPacks"],
          "properties": {
            "cursor": { "type": "string" },
            "starterPacks": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.graph.defs#starterPackViewBasic"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/graph/getBlocks.json  view on Meta::CPAN

      "description": "Enumerates which accounts the requesting account is currently blocking. Requires auth.",
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["blocks"],
          "properties": {
            "cursor": { "type": "string" },
            "blocks": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.actor.defs#profileView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/graph/getFollowers.json  view on Meta::CPAN

        "type": "params",
        "required": ["actor"],
        "properties": {
          "actor": { "type": "string", "format": "at-identifier" },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["subject", "followers"],
          "properties": {
            "subject": {
              "type": "ref",
              "ref": "app.bsky.actor.defs#profileView"
            },
            "cursor": { "type": "string" },
            "followers": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.actor.defs#profileView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/graph/getFollows.json  view on Meta::CPAN

        "type": "params",
        "required": ["actor"],
        "properties": {
          "actor": { "type": "string", "format": "at-identifier" },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["subject", "follows"],
          "properties": {
            "subject": {
              "type": "ref",
              "ref": "app.bsky.actor.defs#profileView"
            },
            "cursor": { "type": "string" },
            "follows": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.actor.defs#profileView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/graph/getKnownFollowers.json  view on Meta::CPAN

        "type": "params",
        "required": ["actor"],
        "properties": {
          "actor": { "type": "string", "format": "at-identifier" },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["subject", "followers"],
          "properties": {
            "subject": {
              "type": "ref",
              "ref": "app.bsky.actor.defs#profileView"
            },
            "cursor": { "type": "string" },
            "followers": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.actor.defs#profileView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/graph/getList.json  view on Meta::CPAN

            "type": "string",
            "format": "at-uri",
            "description": "Reference (AT-URI) of the list record to hydrate."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["list", "items"],
          "properties": {
            "cursor": { "type": "string" },
            "list": { "type": "ref", "ref": "app.bsky.graph.defs#listView" },
            "items": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.graph.defs#listItemView"
              }
            }
          }
        }

share/lexicons/app/bsky/graph/getListBlocks.json  view on Meta::CPAN

      "description": "Get mod lists that the requesting account (actor) is blocking. Requires auth.",
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["lists"],
          "properties": {
            "cursor": { "type": "string" },
            "lists": {
              "type": "array",
              "items": { "type": "ref", "ref": "app.bsky.graph.defs#listView" }
            }
          }
        }
      }
    }
  }
}

share/lexicons/app/bsky/graph/getListMutes.json  view on Meta::CPAN

      "description": "Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth.",
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["lists"],
          "properties": {
            "cursor": { "type": "string" },
            "lists": {
              "type": "array",
              "items": { "type": "ref", "ref": "app.bsky.graph.defs#listView" }
            }
          }
        }
      }
    }
  }
}

share/lexicons/app/bsky/graph/getLists.json  view on Meta::CPAN

            "type": "string",
            "format": "at-identifier",
            "description": "The account (actor) to enumerate lists from."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["lists"],
          "properties": {
            "cursor": { "type": "string" },
            "lists": {
              "type": "array",
              "items": { "type": "ref", "ref": "app.bsky.graph.defs#listView" }
            }
          }
        }
      }
    }
  }
}

share/lexicons/app/bsky/graph/getMutes.json  view on Meta::CPAN

      "description": "Enumerates accounts that the requesting account (actor) currently has muted. Requires auth.",
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "cursor": { "type": "string" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["mutes"],
          "properties": {
            "cursor": { "type": "string" },
            "mutes": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.actor.defs#profileView"
              }
            }
          }
        }
      }

share/lexicons/app/bsky/graph/searchStarterPacks.json  view on Meta::CPAN

          "q": {
            "type": "string",
            "description": "Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "cursor": {
            "type": "string"
          }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["starterPacks"],
          "properties": {
            "cursor": {
              "type": "string"
            },
            "starterPacks": {
              "type": "array",
              "items": {
                "type": "ref",
                "ref": "app.bsky.graph.defs#starterPackViewBasic"
              }
            }
          }

share/lexicons/app/bsky/notification/listNotifications.json  view on Meta::CPAN

      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "priority": { "type": "boolean" },
          "cursor": { "type": "string" },
          "seenAt": { "type": "string", "format": "datetime" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["notifications"],
          "properties": {
            "cursor": { "type": "string" },
            "notifications": {
              "type": "array",
              "items": { "type": "ref", "ref": "#notification" }
            },
            "priority": { "type": "boolean" },
            "seenAt": { "type": "string", "format": "datetime" }
          }
        }
      }
    },



( run in 0.405 second using v1.01-cache-2.11-cpan-4d50c553e7e )