├── assets ├── byte-1.jpeg ├── byte-2.jpeg ├── byte-3.jpeg └── byte-4.jpeg ├── resources ├── Soundfont │ └── Byte.sf2 ├── Fonts │ ├── book │ │ └── st32k │ │ │ ├── st32k.ttf │ │ │ └── FONTLOG.txt │ ├── poster │ │ └── pressuru.otf │ ├── mono │ │ ├── RobotoMono-Regular.ttf │ │ ├── DESCRIPTION.en_us.html │ │ ├── METADATA.json │ │ └── LICENSE.txt │ ├── punchout │ │ └── Labeler-Regular.otf │ ├── sans │ │ └── aileron │ │ │ ├── Aileron-Black.otf │ │ │ ├── Aileron-Bold.otf │ │ │ ├── Aileron-Heavy.otf │ │ │ ├── Aileron-Light.otf │ │ │ ├── Aileron-Thin.otf │ │ │ ├── Aileron-Italic.otf │ │ │ ├── Aileron-Regular.otf │ │ │ ├── Aileron-BoldItalic.otf │ │ │ ├── Aileron-SemiBold.otf │ │ │ ├── Aileron-ThinItalic.otf │ │ │ ├── Aileron-UltraLight.otf │ │ │ ├── Aileron-BlackItalic.otf │ │ │ ├── Aileron-HeavyItalic.otf │ │ │ ├── Aileron-LightItalic.otf │ │ │ ├── Aileron-SemiBoldItalic.otf │ │ │ └── Aileron-UltraLightItalic.otf │ ├── eightbit │ │ └── PixelGrotesk-Regular.ttf │ ├── tape │ │ └── OSP_Alfphabet │ │ │ ├── Alfphabet-IV.ttf │ │ │ ├── README.txt │ │ │ ├── FONTLOG.txt │ │ │ ├── OFL-1.1.txt │ │ │ └── OFL-FAQ.txt │ ├── cursive │ │ └── leaguescript │ │ │ ├── LeagueScript.ttf │ │ │ ├── DESCRIPTION.en_us.html │ │ │ ├── METADATA.json │ │ │ └── OFL.txt │ └── serif │ │ └── heuristica-otf-0.4.tar │ │ ├── Heuristica-Bold.otf │ │ ├── Heuristica-Italic.otf │ │ ├── Heuristica-Regular.otf │ │ ├── Heuristica-BoldItalic.otf │ │ └── FontLog.txt └── Stickers │ ├── No Shadow │ ├── StickerCat.png │ ├── StickerDog.png │ ├── StickerIce.png │ ├── StickerPoo.png │ ├── StickerTea.png │ ├── StickerBeaker.png │ ├── StickerBomb.png │ ├── StickerBulb.png │ ├── StickerCactus.png │ ├── StickerCrab.png │ ├── StickerDonut.png │ ├── StickerDrop.png │ ├── StickerFrog.png │ ├── StickerHeart.png │ ├── StickerKite.png │ ├── StickerLime.png │ ├── StickerMonkey.png │ ├── StickerPlanet.png │ ├── StickerRibbon.png │ ├── StickerSalt.png │ ├── StickerSmiley.png │ ├── StickerSpray.png │ ├── StickerStar.png │ ├── StickerTissue.png │ ├── StickerTopHat.png │ ├── StickerTurtle.png │ ├── StickerBandage.png │ ├── StickerCorndog.png │ ├── StickerDiamond.png │ ├── StickerEggplant.png │ ├── StickerIceCream.png │ ├── StickerJoystick.png │ ├── StickerLighter.png │ ├── StickerMagGlass.png │ ├── StickerMartini.png │ ├── StickerRainbow.png │ ├── StickerThumbsUp.png │ ├── StickerJellyfish.png │ ├── StickerLightning.png │ └── StickerThumbsDown.png │ └── With Shadow │ ├── StickerBomb.png │ ├── StickerBulb.png │ ├── StickerCat.png │ ├── StickerCrab.png │ ├── StickerDog.png │ ├── StickerDrop.png │ ├── StickerFrog.png │ ├── StickerIce.png │ ├── StickerKite.png │ ├── StickerLime.png │ ├── StickerPoo.png │ ├── StickerSalt.png │ ├── StickerStar.png │ ├── StickerTea.png │ ├── StickerBeaker.png │ ├── StickerCactus.png │ ├── StickerDonut.png │ ├── StickerHeart.png │ ├── StickerMonkey.png │ ├── StickerPlanet.png │ ├── StickerRibbon.png │ ├── StickerSmiley.png │ ├── StickerSpray.png │ ├── StickerTissue.png │ ├── StickerTopHat.png │ ├── StickerTurtle.png │ ├── StickerBandage.png │ ├── StickerCorndog.png │ ├── StickerDiamond.png │ ├── StickerEggplant.png │ ├── StickerIceCream.png │ ├── StickerJellyfish.png │ ├── StickerJoystick.png │ ├── StickerLighter.png │ ├── StickerLightning.png │ ├── StickerMagGlass.png │ ├── StickerMartini.png │ ├── StickerRainbow.png │ ├── StickerThumbsUp.png │ └── StickerThumbsDown.png ├── CHANGELOG.md ├── README.md ├── objects.md ├── bff.md └── api.md /assets/byte-1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/assets/byte-1.jpeg -------------------------------------------------------------------------------- /assets/byte-2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/assets/byte-2.jpeg -------------------------------------------------------------------------------- /assets/byte-3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/assets/byte-3.jpeg -------------------------------------------------------------------------------- /assets/byte-4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/assets/byte-4.jpeg -------------------------------------------------------------------------------- /resources/Soundfont/Byte.sf2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Soundfont/Byte.sf2 -------------------------------------------------------------------------------- /resources/Fonts/book/st32k/st32k.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/book/st32k/st32k.ttf -------------------------------------------------------------------------------- /resources/Fonts/poster/pressuru.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/poster/pressuru.otf -------------------------------------------------------------------------------- /resources/Fonts/book/st32k/FONTLOG.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/book/st32k/FONTLOG.txt -------------------------------------------------------------------------------- /resources/Fonts/mono/RobotoMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/mono/RobotoMono-Regular.ttf -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerCat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerCat.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerDog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerDog.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerIce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerIce.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerPoo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerPoo.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerTea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerTea.png -------------------------------------------------------------------------------- /resources/Fonts/punchout/Labeler-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/punchout/Labeler-Regular.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-Black.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-Black.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-Bold.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-Heavy.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-Heavy.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-Light.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-Light.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-Thin.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-Thin.otf -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerBeaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerBeaker.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerBomb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerBomb.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerBulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerBulb.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerCactus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerCactus.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerCrab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerCrab.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerDonut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerDonut.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerDrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerDrop.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerFrog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerFrog.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerHeart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerHeart.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerKite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerKite.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerLime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerLime.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerMonkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerMonkey.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerPlanet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerPlanet.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerRibbon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerRibbon.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerSalt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerSalt.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerSmiley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerSmiley.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerSpray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerSpray.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerStar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerStar.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerTissue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerTissue.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerTopHat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerTopHat.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerTurtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerTurtle.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerBomb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerBomb.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerBulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerBulb.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerCat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerCat.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerCrab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerCrab.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerDog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerDog.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerDrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerDrop.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerFrog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerFrog.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerIce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerIce.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerKite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerKite.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerLime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerLime.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerPoo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerPoo.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerSalt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerSalt.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerStar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerStar.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerTea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerTea.png -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-Italic.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-Regular.otf -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerBandage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerBandage.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerCorndog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerCorndog.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerDiamond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerDiamond.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerEggplant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerEggplant.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerIceCream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerIceCream.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerJoystick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerJoystick.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerLighter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerLighter.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerMagGlass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerMagGlass.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerMartini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerMartini.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerRainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerRainbow.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerThumbsUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerThumbsUp.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerBeaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerBeaker.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerCactus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerCactus.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerDonut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerDonut.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerHeart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerHeart.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerMonkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerMonkey.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerPlanet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerPlanet.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerRibbon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerRibbon.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerSmiley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerSmiley.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerSpray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerSpray.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerTissue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerTissue.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerTopHat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerTopHat.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerTurtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerTurtle.png -------------------------------------------------------------------------------- /resources/Fonts/eightbit/PixelGrotesk-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/eightbit/PixelGrotesk-Regular.ttf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-BoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-BoldItalic.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-SemiBold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-SemiBold.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-ThinItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-ThinItalic.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-UltraLight.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-UltraLight.otf -------------------------------------------------------------------------------- /resources/Fonts/tape/OSP_Alfphabet/Alfphabet-IV.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/tape/OSP_Alfphabet/Alfphabet-IV.ttf -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerJellyfish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerJellyfish.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerLightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerLightning.png -------------------------------------------------------------------------------- /resources/Stickers/No Shadow/StickerThumbsDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/No Shadow/StickerThumbsDown.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerBandage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerBandage.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerCorndog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerCorndog.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerDiamond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerDiamond.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerEggplant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerEggplant.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerIceCream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerIceCream.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerJellyfish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerJellyfish.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerJoystick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerJoystick.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerLighter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerLighter.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerLightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerLightning.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerMagGlass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerMagGlass.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerMartini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerMartini.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerRainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerRainbow.png -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerThumbsUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerThumbsUp.png -------------------------------------------------------------------------------- /resources/Fonts/cursive/leaguescript/LeagueScript.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/cursive/leaguescript/LeagueScript.ttf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-BlackItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-BlackItalic.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-HeavyItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-HeavyItalic.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-LightItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-LightItalic.otf -------------------------------------------------------------------------------- /resources/Stickers/With Shadow/StickerThumbsDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Stickers/With Shadow/StickerThumbsDown.png -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-SemiBoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-SemiBoldItalic.otf -------------------------------------------------------------------------------- /resources/Fonts/sans/aileron/Aileron-UltraLightItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/sans/aileron/Aileron-UltraLightItalic.otf -------------------------------------------------------------------------------- /resources/Fonts/serif/heuristica-otf-0.4.tar/Heuristica-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/serif/heuristica-otf-0.4.tar/Heuristica-Bold.otf -------------------------------------------------------------------------------- /resources/Fonts/serif/heuristica-otf-0.4.tar/Heuristica-Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/serif/heuristica-otf-0.4.tar/Heuristica-Italic.otf -------------------------------------------------------------------------------- /resources/Fonts/serif/heuristica-otf-0.4.tar/Heuristica-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/serif/heuristica-otf-0.4.tar/Heuristica-Regular.otf -------------------------------------------------------------------------------- /resources/Fonts/serif/heuristica-otf-0.4.tar/Heuristica-BoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytehq/api/HEAD/resources/Fonts/serif/heuristica-otf-0.4.tar/Heuristica-BoldItalic.otf -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | 2 | Byte API Changelog 3 | 4 | 5 | 2015/09/22: 6 | 7 | - Add comment editing and deletion. 8 | Comment author can edit and delete their own comments. 9 | Post author can delete comments from their post. 10 | 11 | - New user info: account creation timestamp in /status and firstAuth boolean in /auth response. 12 | -------------------------------------------------------------------------------- /resources/Fonts/cursive/leaguescript/DESCRIPTION.en_us.html: -------------------------------------------------------------------------------- 1 |
This ain’t no Lucida. League Script is a modern, coquettish script font that sits somewhere between your high school girlfriend’s love notes and handwritten letters from the ’20s. Designed for the League of Moveable Type, it includes ligatures and will act as the framework for future script designs.
-------------------------------------------------------------------------------- /resources/Fonts/tape/OSP_Alfphabet/README.txt: -------------------------------------------------------------------------------- 1 | 2 | FONTLOG.txt: the font design-oriented changelog 3 | http://scripts.sil.org/OFL-FAQ_web#00e3bd04 4 | 5 | Alfphabet-IV.ttf: ttf font sources 6 | http://www.truetype-typography.com/ttspec.htm 7 | 8 | OFL-1.1.txt: copyright notice header + license 9 | OFL-1.1-header.txt: license header for separate files 10 | OFL-FAQ.txt: Frequently Asked Questions about the license and its collaboration model 11 | http://scripts.sil.org/OFL 12 | 13 | 14 | -------------------------------------------------------------------------------- /resources/Fonts/cursive/leaguescript/METADATA.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "League Script", 3 | "designer": "Haley Fiege", 4 | "license": "OFL", 5 | "visibility": "External", 6 | "category": "Handwriting", 7 | "size": 39623, 8 | "fonts": [ 9 | { 10 | "name": "League Script", 11 | "style": "normal", 12 | "weight": 400, 13 | "filename": "LeagueScript.ttf", 14 | "postScriptName": "LeagueScript", 15 | "fullName": "League Script", 16 | "copyright": "Copyright (c) 2010, Haley Fiege (haley@kingdomofawesome.com)" 17 | } 18 | ], 19 | "subsets": [ 20 | "latin", 21 | "menu" 22 | ], 23 | "dateAdded": "2011-03-09" 24 | } 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Bytehub 2 | 3 | * **[API Docs](./api.md)** 4 | * **[Byte File Format (BFF)](./bff.md)** 5 | 6 | More coming soon! 7 | 8 | #### Implementations 9 | * **[byte.js](https://github.com/bytehq/byte.js)** — A web renderer for Bytes / BFF 10 | * **[byte-music-converter](https://github.com/bytehq/byte-music-converter)** - Converts Byte Music to MIDI/WAV/MP3 11 | * **[Boogle](https://github.com/Donohue/boogle)** — Byte search engine 12 | * **[ByteSharp](https://github.com/drasticactions/ByteSharp)** — C# Byte API library 13 | * **[byte-music.js](https://github.com/audionerd/byte-music.js)** - Javascript Byte Music Player 14 | 15 | Questions, feedback, discussion, or need support? Please use our Issues page. 16 | -------------------------------------------------------------------------------- /resources/Fonts/mono/DESCRIPTION.en_us.html: -------------------------------------------------------------------------------- 1 |2 | Roboto Mono is a monospaced addition to the Roboto type family. 3 | Like the other members of the Roboto family, the fonts are optimized for readability on screens across a wide variety of devices and reading environments. 4 | While the monospaced version is related to its variable width cousin, it doesn’t hesitate to change forms to better fit the constraints of a monospaced environment. 5 | For example, narrow glyphs like ‘I’, ‘l’ and ‘i’ have added serifs for more even texture while wider glyphs are adjusted for weight. 6 | Curved caps like ‘C’ and ‘O’ take on the straighter sides from Roboto Condensed. 7 |
8 | 9 |10 | Special consideration is given to glyphs important for reading and writing software source code. 11 | Letters with similar shapes are easy to tell apart. 12 | Digit ‘1’, lowercase ‘l’ and capital ‘I’ are easily differentiated as are zero and the letter ‘O’. 13 | Punctuation important for code has also been considered. 14 | For example, the curly braces ‘{ }’ have exaggerated points to clearly differentiate them from parenthesis ‘( )’ and braces ‘[ ]’. 15 | Periods and commas are also exaggerated to identify them more quickly. 16 | The scale and weight of symbols commonly used as operators have also been optimized. 17 |
18 | -------------------------------------------------------------------------------- /resources/Fonts/tape/OSP_Alfphabet/FONTLOG.txt: -------------------------------------------------------------------------------- 1 | 2 | FONTLOG for Alfphabet-IV 3 | ------------------- 4 | This file provides detailed information on the Alfphabet-IV font software. 5 | This information should be distributed along with the Alfphabet-IV fonts 6 | and any derivative works. 7 | 8 | Basic Font Information 9 | -------------------------- 10 | Copyright (c) 2007-2010, OSP (http://ospublish.constantvzw.org) 11 | The Alfphabet family is based on the Belgian road signage (1945-1975, originally from 3M system working for the Marshall plan after the end of the war). 12 | Alfphabet IV was redrawn by Pierre Huyghebaert and Ludi at Speculoos studio in 2007. 13 | 14 | Alfphabet-IV currently provides the following Unicode coverage: 15 | Basic Latin: 95/95 16 | Latin-1 Supplement: 60/96 17 | 18 | Information for Contributors 19 | ------------------------------ 20 | Copyright (C) 2007-2010 OSP (Pierre Huyghebaert and Ludivine Loiseau). 21 | 22 | This Font Software is Copyright (c) 2003-2006, Philipp H. Poll (http://linuxlibertine.sf.net/). 23 | All Rights Reserved. 24 | 25 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 26 | 27 | You should have received a copy of the license along with this Font Software (either in stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files). 28 | 29 | See the project website for the current trunk and the various branches: 30 | http://ospublish.constantvzw.org/foundry/alfphabet 31 | 32 | ChangeLog 33 | ---------- 34 | 35 | Acknowledgements 36 | ------------------------- 37 | If you make modifications be sure to add your name (N), email (E), web-address 38 | (W) and description (D). This list is sorted by last name in alphabetical 39 | order.) 40 | 41 | N: Ludivine Loiseau 42 | E: 43 | W: http://ospublish.constantvzw.org 44 | D: 45 | 46 | N: Pierre Huyghebaert, 47 | E: pierre@speculoos.com 48 | W: http://ospublish.constantvzw.org 49 | D: 50 | 51 | 52 | -------------------------------------------------------------------------------- /resources/Fonts/mono/METADATA.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Roboto Mono", 3 | "designer": "Christian Robertson", 4 | "license": "Apache2", 5 | "visibility": "External", 6 | "category": "Monospace", 7 | "size": 51290, 8 | "fonts": [ 9 | { 10 | "name": "Roboto Mono", 11 | "postScriptName": "RobotoMono-Thin", 12 | "fullName": "Roboto Mono Thin", 13 | "style": "normal", 14 | "weight": 100, 15 | "filename": "RobotoMono-Thin.ttf", 16 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 17 | }, 18 | { 19 | "name": "Roboto Mono", 20 | "postScriptName": "RobotoMono-ThinItalic", 21 | "fullName": "Roboto Mono Thin Italic", 22 | "style": "italic", 23 | "weight": 100, 24 | "filename": "RobotoMono-ThinItalic.ttf", 25 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 26 | }, 27 | { 28 | "name": "Roboto Mono", 29 | "postScriptName": "RobotoMono-Light", 30 | "fullName": "Roboto Mono Light", 31 | "style": "normal", 32 | "weight": 300, 33 | "filename": "RobotoMono-Light.ttf", 34 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 35 | }, 36 | { 37 | "name": "Roboto Mono", 38 | "postScriptName": "RobotoMono-LightItalic", 39 | "fullName": "Roboto Mono Light Italic", 40 | "style": "italic", 41 | "weight": 300, 42 | "filename": "RobotoMono-LightItalic.ttf", 43 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 44 | }, 45 | { 46 | "name": "Roboto Mono", 47 | "postScriptName": "RobotoMono-Regular", 48 | "fullName": "Roboto Mono", 49 | "style": "normal", 50 | "weight": 400, 51 | "filename": "RobotoMono-Regular.ttf", 52 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 53 | }, 54 | { 55 | "name": "Roboto Mono", 56 | "postScriptName": "RobotoMono-Italic", 57 | "fullName": "Roboto Mono Italic", 58 | "style": "italic", 59 | "weight": 400, 60 | "filename": "RobotoMono-Italic.ttf", 61 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 62 | }, 63 | { 64 | "name": "Roboto Mono", 65 | "postScriptName": "RobotoMono-Medium", 66 | "fullName": "Roboto Mono Medium", 67 | "style": "normal", 68 | "weight": 500, 69 | "filename": "RobotoMono-Medium.ttf", 70 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 71 | }, 72 | { 73 | "name": "Roboto Mono", 74 | "postScriptName": "RobotoMono-MediumItalic", 75 | "fullName": "Roboto Mono Medium Italic", 76 | "style": "italic", 77 | "weight": 500, 78 | "filename": "RobotoMono-MediumItalic.ttf", 79 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 80 | }, 81 | { 82 | "name": "Roboto Mono", 83 | "postScriptName": "RobotoMono-Bold", 84 | "fullName": "Roboto Mono Bold", 85 | "style": "normal", 86 | "weight": 700, 87 | "filename": "RobotoMono-Bold.ttf", 88 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 89 | }, 90 | { 91 | "name": "Roboto Mono", 92 | "postScriptName": "RobotoMono-BoldItalic", 93 | "fullName": "Roboto Mono Bold Italic", 94 | "style": "italic", 95 | "weight": 700, 96 | "filename": "RobotoMono-BoldItalic.ttf", 97 | "copyright": "Copyright 2015 Google Inc. All Rights Reserved." 98 | } 99 | ], 100 | "subsets": [ 101 | "cyrillic", 102 | "cyrillic-ext", 103 | "greek", 104 | "greek-ext", 105 | "latin", 106 | "latin-ext", 107 | "menu", 108 | "vietnamese" 109 | ], 110 | "dateAdded": "2015-05-13" 111 | } 112 | -------------------------------------------------------------------------------- /resources/Fonts/cursive/leaguescript/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010, Haley Fiege (haley@kingdomofawesome.com) 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. (with no Reserved Font Name) 4 | This license is copied below, and is also available with a FAQ at: 5 | http://scripts.sil.org/OFL 6 | 7 | 8 | ----------------------------------------------------------- 9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10 | ----------------------------------------------------------- 11 | 12 | PREAMBLE 13 | The goals of the Open Font License (OFL) are to stimulate worldwide 14 | development of collaborative font projects, to support the font creation 15 | efforts of academic and linguistic communities, and to provide a free and 16 | open framework in which fonts may be shared and improved in partnership 17 | with others. 18 | 19 | The OFL allows the licensed fonts to be used, studied, modified and 20 | redistributed freely as long as they are not sold by themselves. The 21 | fonts, including any derivative works, can be bundled, embedded, 22 | redistributed and/or sold with any software provided that any reserved 23 | names are not used by derivative works. The fonts and derivatives, 24 | however, cannot be released under any other type of license. The 25 | requirement for fonts to remain under this license does not apply 26 | to any document created using the fonts or their derivatives. 27 | 28 | DEFINITIONS 29 | "Font Software" refers to the set of files released by the Copyright 30 | Holder(s) under this license and clearly marked as such. This may 31 | include source files, build scripts and documentation. 32 | 33 | "Original Version" refers to the collection of Font Software components as 34 | distributed by the Copyright Holder(s). 35 | 36 | "Modified Version" refers to any derivative made by adding to, deleting, 37 | or substituting -- in part or in whole -- any of the components of the 38 | Original Version, by changing formats or by porting the Font Software to a 39 | new environment. 40 | 41 | "Author" refers to any designer, engineer, programmer, technical 42 | writer or other person who contributed to the Font Software. 43 | 44 | PERMISSION & CONDITIONS 45 | Permission is hereby granted, free of charge, to any person obtaining 46 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 47 | redistribute, and sell modified and unmodified copies of the Font 48 | Software, subject to the following conditions: 49 | 50 | 1) Neither the Font Software nor any of its individual components, 51 | in Original or Modified Versions, may be sold by itself. 52 | 53 | 2) Original or Modified Versions of the Font Software may be bundled, 54 | redistributed and/or sold with any software, provided that each copy 55 | contains the above copyright notice and this license. These can be 56 | included either as stand-alone text files, human-readable headers or 57 | in the appropriate machine-readable metadata fields within text or 58 | binary files as long as those fields can be easily viewed by the user. 59 | 60 | 3) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 61 | Software shall not be used to promote, endorse or advertise any 62 | Modified Version, except to acknowledge the contribution(s) of the 63 | Copyright Holder(s) and the Author(s) or with their explicit written 64 | permission. 65 | 66 | 4) The Font Software, modified or unmodified, in part or in whole, 67 | must be distributed entirely under this license, and must not be 68 | distributed under any other license. The requirement for fonts to 69 | remain under this license does not apply to any document created 70 | using the Font Software. 71 | 72 | TERMINATION 73 | This license becomes null and void if any of the above conditions are 74 | not met. 75 | 76 | DISCLAIMER 77 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 78 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 79 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 80 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 81 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 82 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 83 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 84 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 85 | OTHER DEALINGS IN THE FONT SOFTWARE. 86 | -------------------------------------------------------------------------------- /resources/Fonts/tape/OSP_Alfphabet/OFL-1.1.txt: -------------------------------------------------------------------------------- 1 | This file is part of Alfphabet-IV and is for description. 2 | 3 | Copyright (C) 2007-2010 OSP (Pierre Huyghebaert and Ludivine Loiseau). 4 | 5 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 6 | This license is copied below, and is also available with a FAQ at: 7 | http://scripts.sil.org/OFL 8 | 9 | 10 | ----------------------------------------------------------- 11 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 12 | ----------------------------------------------------------- 13 | 14 | PREAMBLE 15 | The goals of the Open Font License (OFL) are to stimulate worldwide 16 | development of collaborative font projects, to support the font creation 17 | efforts of academic and linguistic communities, and to provide a free and 18 | open framework in which fonts may be shared and improved in partnership 19 | with others. 20 | 21 | The OFL allows the licensed fonts to be used, studied, modified and 22 | redistributed freely as long as they are not sold by themselves. The 23 | fonts, including any derivative works, can be bundled, embedded, 24 | redistributed and/or sold with any software provided that any reserved 25 | names are not used by derivative works. The fonts and derivatives, 26 | however, cannot be released under any other type of license. The 27 | requirement for fonts to remain under this license does not apply 28 | to any document created using the fonts or their derivatives. 29 | 30 | DEFINITIONS 31 | "Font Software" refers to the set of files released by the Copyright 32 | Holder(s) under this license and clearly marked as such. This may 33 | include source files, build scripts and documentation. 34 | 35 | "Reserved Font Name" refers to any names specified as such after the 36 | copyright statement(s). 37 | 38 | "Original Version" refers to the collection of Font Software components as 39 | distributed by the Copyright Holder(s). 40 | 41 | "Modified Version" refers to any derivative made by adding to, deleting, 42 | or substituting -- in part or in whole -- any of the components of the 43 | Original Version, by changing formats or by porting the Font Software to a 44 | new environment. 45 | 46 | "Author" refers to any designer, engineer, programmer, technical 47 | writer or other person who contributed to the Font Software. 48 | 49 | PERMISSION & CONDITIONS 50 | Permission is hereby granted, free of charge, to any person obtaining 51 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 52 | redistribute, and sell modified and unmodified copies of the Font 53 | Software, subject to the following conditions: 54 | 55 | 1) Neither the Font Software nor any of its individual components, 56 | in Original or Modified Versions, may be sold by itself. 57 | 58 | 2) Original or Modified Versions of the Font Software may be bundled, 59 | redistributed and/or sold with any software, provided that each copy 60 | contains the above copyright notice and this license. These can be 61 | included either as stand-alone text files, human-readable headers or 62 | in the appropriate machine-readable metadata fields within text or 63 | binary files as long as those fields can be easily viewed by the user. 64 | 65 | 3) No Modified Version of the Font Software may use the Reserved Font 66 | Name(s) unless explicit written permission is granted by the corresponding 67 | Copyright Holder. This restriction only applies to the primary font name as 68 | presented to the users. 69 | 70 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 71 | Software shall not be used to promote, endorse or advertise any 72 | Modified Version, except to acknowledge the contribution(s) of the 73 | Copyright Holder(s) and the Author(s) or with their explicit written 74 | permission. 75 | 76 | 5) The Font Software, modified or unmodified, in part or in whole, 77 | must be distributed entirely under this license, and must not be 78 | distributed under any other license. The requirement for fonts to 79 | remain under this license does not apply to any document created 80 | using the Font Software. 81 | 82 | TERMINATION 83 | This license becomes null and void if any of the above conditions are 84 | not met. 85 | 86 | DISCLAIMER 87 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 88 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 89 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 90 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 91 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 92 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 93 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 94 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 95 | OTHER DEALINGS IN THE FONT SOFTWARE. 96 | -------------------------------------------------------------------------------- /resources/Fonts/serif/heuristica-otf-0.4.tar/FontLog.txt: -------------------------------------------------------------------------------- 1 | These fonts are based on Utopia font which was released by Adobe for TeX 2 | users group with following license: 3 | 4 | Adobe Systems Incorporated ("Adobe") hereby grants to the TeX Users 5 | Group and its members a nonexclusive, royalty-free, perpetual license to 6 | the typeface software for the Utopia Regular, Utopia Italic, Utopia Bold 7 | and Utopia bold Italic typefaces, including Adobe Type 1 font programs 8 | for each style (collectively, the "Software") as set forth below. 9 | 10 | Adobe grants the TeX Users Group a license under its copyrights, to use, 11 | reproduce, display and distribute the Software for any purpose and 12 | without fee provided that the following copyright notice appears in all 13 | whole and partial copies of the Software and provided that the following 14 | trademark symbol and attribution appear in all unmodified copies of the 15 | Software: 16 | 17 | Copyright 1989, 1991 Adobe Systems Incorporated. All rights reserved. 18 | (alternatively, @1989, 1991 Adobe Systems Incorporated. All rights reserved.) 19 | Utopia(R) 20 | Utopia is either a registered trademark or trademark of Adobe Systems 21 | Incorporated in the United States and/or other countries. Used under 22 | license. 23 | 24 | Adobe also grants to the TeX Users Group a license to modify the 25 | Software for any purpose and redistribute such modifications, for any 26 | purpose and royalty-free, provided that the modified Software shall not 27 | use the font name(s) or trademark(s), in whole or in part, unless 28 | explicit written permission is granted by Adobe. This restriction 29 | applies to all references stored in the Software for identification 30 | purposes, such as the font menu name and other font description 31 | fields. The TeX Users Group is also permitted to sublicense, and grant 32 | such sublicensees the right to further sublicense, any or all the 33 | foregoing rights through multiple tiers of distribution. The licenses 34 | granted herein are granted in perpetuity and may not be terminated by 35 | either party unless such termination is based on a breach of the terms 36 | and conditions herein stated. 37 | 38 | Adobe retains ownership of the copyright in the Software. The TeX Users 39 | Group agrees that Adobe and its suppliers are the sole and exclusive 40 | owners of all rights, title and interest, including all copyrights, 41 | patents, trademarks, trade names, trade secrets and other intellectual 42 | property rights in the Software. No title or ownership of the Software, 43 | any copies of the Software, or the patent, copyright, trade secret, 44 | trademark, trade name or other proprietary rights contained in the 45 | Software is transferred to the TeX Users Group. 46 | 47 | The Adobe trademarks shall not be used in advertising pertaining to the 48 | distribution of the Software without express prior permission from 49 | Adobe. Any such use shall be in accordance with the Adobe trademark 50 | guidelines, available on the Adobe website at 51 | http://www.adobe.com/misc/pdfs/TM GuideforThirdPartiesFinal.pdf. 52 | If any portion of the Software is changed, it cannot be marketed under 53 | Adobe's trademarks unless Adobe, in its sole discretion, approves by a 54 | prior writing the quality of the resulting implementation. 55 | 56 | The TeX Users Group shall have the right to evaluate the Software 57 | provided by Adobe. 58 | 59 | Then the TeX Users Group (TUG) gave all such rights, irrevocably and in 60 | perpetuity, to any and all interested parties. 61 | 62 | Heuristica fonts contains glyphs from Vntopia font family, 63 | http://vntex.sf.net which was released by Han The Thanh on 2006 64 | according to the conditions of the Adobe/TUG license agreement. 65 | 66 | Build and install instructions 67 | ============================== 68 | 69 | You need fontforge (http://fontforge.sourceforge.net/), xgridfit 70 | (http://xgridfit.sourceforge.net/) and font-helpers 71 | (http://code.google.com/p/font-helpers/ ) in order to build fonts from 72 | the sources. Also you should have GNU make and coreutils. At first you 73 | must unpack/copy files from font-helpers into the directory where *.sfd 74 | files are located. Then type 75 | 76 | make 77 | 78 | and truetype fonts will be produced. On systems with X.Org you may do 79 | 80 | make install 81 | 82 | as root to install fonts system-wide (/usr/share/fonts/TTF). Otherwise 83 | copy *.ttf files into ~/.fonts/ directory. Then run fc-cache if you have 84 | fontconfig. 85 | 86 | ChangeLog 87 | --------- 88 | 89 | 2011-02-15 Andrey V. Panov 90 | Added subscript, superscript and tabular oldstyle figures. 91 | Added more vulgar fractions. 92 | Added several extended Latin and Cyrillic characters. 93 | Version 0.4 is released. 94 | 95 | 2010-10-28 Andrey V. Panov 96 | Added small capitals (basic Latin and Cyrillic) in Regular. 97 | Added more phonetic characters to Regular. 98 | Version 0.3 is released. 99 | 100 | 2010-06-09 Andrey V. Panov 101 | Added several characters mostly for support of Polish and Romanian. 102 | Version 0.2.2 is released. 103 | 104 | 2010-02-15 Andrey V. Panov 105 | Tuned some kerning pairs in Cyrillic. 106 | Added U+211F, U+2123. 107 | Added LaTeX support. 108 | Manually instructed "g" in Regular. 109 | Version 0.2.1 is released. 110 | 111 | 2009-08-09 Andrey V. Panov 112 | Version 0.2 is released. 113 | 114 | 2009-08-08 Andrey V. Panov 115 | Added Cyrillic letters to support modern Abkhazian alphabet. 116 | Added "Euro". 117 | 118 | 2009-08-07 Andrey V. Panov 119 | Added kerning to Cyrillic. 120 | 121 | 2009-07-08 Andrey V. Panov 122 | Added old style kerning ('kern' table). 123 | 124 | 2009-03-21 Andrey V. Panov 125 | 126 | Some elements of truetype control value table are now modified 127 | with xgridfit. So build process requires ttx from fontutils and 128 | xgridfit. 129 | 130 | 2009-03-11 Andrey V. Panov 131 | 132 | Merged glyphs from Vntopia fonts of Han The Thanh with modifications for 133 | more condensed accents. 134 | Added U+494, U+495, U+4C7, U+4C8, U+512, U+513. 135 | Added several IPA charters to Regular. 136 | Updated scripts for producing fonts. 137 | 138 | 2009-01-25 Andrey V. Panov 139 | 140 | Fixed spacing of generated rotated glyphs in italic fonts. 141 | Added longs, u+268, esh, several extended Cyrillic letters. 142 | 143 | 2008-12-24 Andrey V. Panov 144 | 145 | Added more accents. 146 | 147 | 2008-12-07 Andrey V. Panov 148 | 149 | Added capital variants for "ring", "tilde". Generating script now builds 150 | a lot of accented Latin and Cyrillic glyphs and several IPA rotated 151 | symbols. 152 | 153 | 2008-11-25 Andrey V. Panov 154 | 155 | The first beta version (0.1) is released. 156 | -------------------------------------------------------------------------------- /objects.md: -------------------------------------------------------------------------------- 1 | # Byte API Objects 2 | 3 | This documents describes the primary types of objects returned by the Byte API. 4 | 5 | **Note About Summary Fields:** 6 | Summary fields are a limited set of fields returned when the object is included inside another object. 7 | For example, when a user object is included inside a comment object, only the summary fields for that user are returned. 8 | In some API endpoints the caller can specify whether they want summary results or full results. 9 | 10 | ## Post 11 | 12 | A post is a single Byte. 13 | The contents used to display the Byte are in the field named `package`, which contains a JSON string that conforms to the BFF guidelines. 14 | The other fields contain metadata about the Byte. 15 | 16 | #### Fields 17 | 18 | | Field | Type | Summary | Description | 19 | | :---: | :---: | :---: |:--- | 20 | | `id` | String | Yes | Unique identifier for the Byte. | 21 | | `name` | String | Yes | Unique name for the Byte. Contains no spaces. | 22 | | `caption` | String | Yes | Freeform description for the Byte. Can include unicode. | 23 | | `author` | User Object | Yes | Author of this Byte. Not included for incognito Bytes. | 24 | | `previewUrl` | String | Yes | URL to a resizable thumbnail image for the Byte. | 25 | | `thumbnailSrc` | String | Yes | URL to a non-resizable thumbnail image for the Byte. | 26 | | `musicSrc` | String | | Url to an MP3 file of the music for the Byte, if it has music. | 27 | | `package` | String | | JSON string containing the BFF for this Byte. | 28 | | `comments` | Array | | Array of comments on the Byte. | 29 | | `ownedByUser` | Boolean | | Whether the currently logged in user owns this Byte. Only included for authed requests. | 30 | | `profile` | Boolean | Yes | Whether this Byte is the featured Byte for the author's profile. | 31 | | `stickersCount` | Integer | Yes | Number of sticker comments on this Byte. | 32 | | `commentsCount` | Integer | Yes | Number of text commetns on this Byte. | 33 | | `lookCount` | Integer | Yes | Number of looks on this Byte. | 34 | | `updated` | Integer | Yes | Millisecond-based Unix timestamp for when this Byte was updated. | 35 | | `updatedString` | String | Yes | Millisecond-based Unix timestamp for when this Byte was updated. Useful in 32 bit environments where the integer overflows. | 36 | | `created` | Integer | Yes | Millisecond-based Unix timestamp for when this Byte was created. | 37 | | `createdString` | String | Yes | Millisecond-based Unix timestamp for when this Byte was created. Useful in 32 bit environments where the integer overflows. | 38 | 39 | 40 | #### Sample Object 41 | 42 | ```json 43 | { 44 | "id": ""}'
122 | ```
123 |
124 | #### Sample Response
125 |
126 | ```json
127 | {
128 | "data": {
129 | "token": "",
130 | "firstAuth": true,
131 | "user": {
132 | "username":"",
133 | "description":null,
134 | "created":1439589853533,
135 | "profilePhoto":"",
136 | "createdString":"1439589853533",
137 | "timeZone":"America/New_York",
138 | "id":""
139 | }
140 | },
141 | "success": 1
142 | }
143 | ```
144 |
145 | #### Error States
146 |
147 | | Code | Message |
148 | | :---: | :--- |
149 | | 1110 | Expired/invalid auth code |
150 | | 1114 | User suspended |
151 |
152 |
153 |
154 | ## Users
155 |
156 | Endpoints for looking up and managing users
157 |
158 | | Method | Endpoint | Description |
159 | | :---: | :--- | :--- |
160 | | `GET` | [`/status`](#get-status-requires-authentication-header) | Fetches the latest user state |
161 | | `GET` | [`/account`](#get-account-requires-authentication-header) | Returns the account information tied to the current session token |
162 | | `POST` | [`/account`](#post-account-requires-authentication-header) | Updates account information |
163 | | `POST` | [`/users/self/deactivate`](#post-usersselfdeactivate-requires-authentication-header) | Deactivates the current user account |
164 | | `POST` | [`/users/self/reactivate`](#post-usersselfreactivate-requires-authentication-header) | Reactivates the current user account |
165 | | `POST` | [`/account/check-name`](#post-check-name-requires-authentication-header) | Checks whether a name is available |
166 | | `GET` | [`/user/feed`](#get-user-feed-requires-authentication-header) | Fetches the user's feed |
167 | | `GET` | [`/users/recommended`](#get-users-recommended-requires-authentication-header) | Fetches the list of recommended users |
168 | | `GET` | [`/users/u/`](#get-users-u-username-requires-authentication-header) | Looks up a user's profile by username |
169 | | `GET` | [`/users/id/`](#get-users-id-userid-requires-authentication-header) | Looks up a user's profile by user id |
170 |
171 |
172 | ### **GET** `/status` (requires authentication header)
173 |
174 | The `GET /status` endpoint is a simple check to fetch the latest user state from the server.
175 |
176 | #### Sample Query
177 |
178 | ```bash
179 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/status
180 | ```
181 |
182 | #### Sample Response
183 |
184 | ```json
185 | {
186 | "data": {
187 | "username": "",
188 | "created": 1442932401721,
189 | "createdString": "1442932401721",
190 | "latestMessageString": "1440981197064",
191 | "latestMessage": 1440981197064,
192 | "userId": "",
193 | "messageCount": 85
194 | },
195 | "success": 1
196 | }
197 | ```
198 |
199 | #### Error States
200 |
201 | | Code | Message |
202 | | :---: | :--- |
203 | | 1101 | User does not exist |
204 |
205 |
206 | ### **GET** `/account` (requires authentication header)
207 |
208 | The `GET /account` endpoint returns the information for the account corresponding to the current session token.
209 |
210 | #### Sample Query
211 |
212 | ```bash
213 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/account
214 | ```
215 |
216 | #### Sample Response
217 |
218 | ```json
219 | {
220 | "data": {
221 | "username": "",
222 | "phoneSearchOptOut": false,
223 | "description": null,
224 | "created": 1439504708109,
225 | "createdString": "1439504708109",
226 | "devices": [
227 | {
228 | "app_environment": "byte.ios",
229 | "token": ""
230 | }
231 | ],
232 | "timeZone": "America/Toronto",
233 | "id": ""
234 | },
235 | "success": 1
236 | }
237 | ```
238 |
239 | #### Error States
240 |
241 | | Code | Message |
242 | | :---: | :--- |
243 | | 1101 | User does not exist |
244 |
245 |
246 | ### **POST** `/account` (requires authentication header)
247 |
248 | The `POST /account` endpoint is used to update information for the account corresponding to the current session token.
249 |
250 | | Parameter | Type | Description | Example |
251 | | :---: | :---: | :--- | :--- |
252 | | `timeZone` | String | Optional [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) time zone. Defaults to `America/New_York`. | `"America/Toronto"` |
253 | | `description` | String | Optional. | `""` |
254 | | `profilePhoto` | String | Optional path to uploaded profile photo. | `"http://lh3.googleusercontent.com/..."` |
255 | | `username` | String | Optional username. | `"adam"` |
256 |
257 | #### Sample Query
258 |
259 | ```bash
260 | curl -X POST -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/account -d '{"timeZone": "America/New_York", "description": ""}'
261 | ```
262 |
263 | #### Sample Response
264 |
265 | ```json
266 | {
267 | "data": {
268 | "username": "",
269 | "phoneSearchOptOut": false,
270 | "description": null,
271 | "created": 1439504708109,
272 | "createdString": "1439504708109",
273 | "devices": [
274 | {
275 | "app_environment": "byte.ios",
276 | "token": ""
277 | }
278 | ],
279 | "timeZone": "America/Toronto",
280 | "id": ""
281 | },
282 | "success": 1
283 | }
284 | ```
285 |
286 | #### Error States
287 |
288 | | Code | Message |
289 | | :---: | :--- |
290 | | 1101 | User does not exist |
291 |
292 |
293 | ### **POST** `/users/self/deactivate` (requires authentication header)
294 |
295 | The `POST /users/self/deactivate` endpoint deactivates the current user account. Posts will not be deleted, but be warned that all corresponding Byte names (URLs) will be renamed to random names and the original names released back into the wild.
296 |
297 | #### Sample Query
298 |
299 | ```bash
300 | curl -X POST -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users/self/deactivate -d '{}'
301 | ```
302 |
303 | #### Sample Response
304 |
305 | ```json
306 | {
307 | "data": {
308 | "status": "inactive"
309 | },
310 | "success": 1
311 | }
312 | ```
313 |
314 |
315 | ### **POST** `/users/self/reactivate` (requires authentication header)
316 |
317 | The `POST /users/self/reactivate` endpoint reactivates the current user session. Posts will be restored, but remember that all corresponding Byte names (URLs) will have been renamed to random names.
318 |
319 | #### Sample Query
320 |
321 | ```bash
322 | curl -X POST -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users/self/reactivate -d '{}'
323 | ```
324 |
325 | #### Sample Response
326 |
327 | ```json
328 | {
329 | "data": {
330 | "status": "active"
331 | },
332 | "success": 1
333 | }
334 | ```
335 |
336 |
337 | ### **POST** `/account/check-name` (requires authentication header)
338 |
339 | The `POST /account/check-name` endpoint checks whether a name is available.
340 |
341 | #### Sample Query
342 |
343 | ```bash
344 | curl -X POST -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/account/check-name -d '{"name": ""}'
345 | ```
346 |
347 | #### Sample Response
348 |
349 | ```json
350 | {
351 | "data": {
352 | "isAvailable": true
353 | },
354 | "success": 1
355 | }
356 | ```
357 |
358 |
359 | ### **GET** `/user/feed` (requires authentication header)
360 |
361 | The `GET /user/feed` endpoint retrieves the user's feed.
362 |
363 | #### Sample Query
364 |
365 | ```bash
366 | curl -X GET -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/user/feed'
367 | ```
368 |
369 | #### Sample Response
370 |
371 | ```json
372 | {
373 | "data": {
374 | "cursor": "",
375 | "posts": [, , ]
376 | },
377 | "success": 1
378 | }
379 | ```
380 |
381 |
382 | ### **GET** `/users/recommended` (requires authentication header)
383 |
384 | The `GET /users/recommended` endpoint retrieves a list of suggested users to follow.
385 |
386 | #### Sample Query
387 |
388 | ```bash
389 | curl -X GET -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users/recommended'
390 | ```
391 |
392 | #### Sample Response
393 |
394 | ```json
395 | {
396 | "data": {
397 | "users": [, , ],
398 | },
399 | "success": 1
400 | }
401 | ```
402 |
403 |
404 | ### **GET** `/users/u/` (requires authentication header)
405 |
406 | The `GET /users/u/` endpoint looks up a user's profile.
407 |
408 | #### Sample Query
409 |
410 | ```bash
411 | curl -X GET -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users/u/'
412 | ```
413 |
414 | #### Sample Response
415 |
416 | ```json
417 | {
418 | "data": {
419 | "cursor": null,
420 | "posts": [, , ],
421 | "user": {
422 | "username": "ByteHQ",
423 | "isFollowingYou": 0,
424 | "isFollowedByYou": 1,
425 | "description": null,
426 | "profilePost":
427 | },
428 | "success": 1
429 | }
430 | ```
431 |
432 |
433 | ### **GET** `/users/id/` (requires authentication header)
434 |
435 | The `GET /users/id/` endpoint looks up a user's profile.
436 |
437 | #### Sample Query
438 |
439 | ```bash
440 | curl -X GET -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users/id/'
441 | ```
442 |
443 | #### Sample Response
444 |
445 | ```json
446 | {
447 | "data": {
448 | "cursor": null,
449 | "posts": [, , ],
450 | "user": {
451 | "username": "ByteHQ",
452 | "isFollowingYou": 0,
453 | "isFollowedByYou": 1,
454 | "description": null,
455 | "profilePost":
456 | },
457 | "success": 1
458 | }
459 | ```
460 |
461 |
462 |
463 | ## Following
464 |
465 | Endpoints for following users
466 |
467 | | Method | Endpoint | Description |
468 | | :---: | :--- | :--- |
469 | | `POST` | [`/users//follow`](#post-users-userid-follow-requires-authentication-header) | Follow the user with the giver userId. |
470 | | `DELETE` | [`/users//follow`](#delete-users-userid-follow-requires-authentication-header) | Unfollow the user with the giver userId. |
471 | | `GET` | [`/users//followers`](#get-users-userid-followers-requires-authentication-header) | Get a list of all users following the user with the giver userId. |
472 | | `GET` | [`/users//following`](#get-users-userid-following-requires-authentication-header) | Get a list of all users followed by the user with the giver userId. |
473 | | `GET` | [`/users//followers/mutual`](#get-users-userid-followers-mutual-requires-authentication-header) | Get a list of all users both following and followed by the user with the giver userId. |
474 |
475 |
476 | ### **POST** `/users//follow` (requires authentication header)
477 |
478 | The `POST /users//follow` endpoint follows the given user.
479 |
480 | #### Sample Query
481 |
482 | ```bash
483 | curl -X POST -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users//follow -d ""'
484 | ```
485 |
486 | #### Sample Response
487 |
488 | ```json
489 | {
490 | "data": {},
491 | "success": 1
492 | }
493 | ```
494 |
495 |
496 | ### **DELETE** `/users//follow` (requires authentication header)
497 |
498 | The `DELETE /users//follow` endpoint unfollows the given user.
499 |
500 | #### Sample Query
501 |
502 | ```bash
503 | curl -X DELETE -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users//follow'
504 | ```
505 |
506 | #### Sample Response
507 |
508 | ```json
509 | {
510 | "data": {},
511 | "success": 1
512 | }
513 | ```
514 |
515 |
516 | ### **GET** `/users//followers` (requires authentication header)
517 |
518 | The `GET /users//followers` endpoint retrieves the list of users following the given user.
519 |
520 | #### Sample Query
521 |
522 | ```bash
523 | curl -X GET -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users//followers'
524 | ```
525 |
526 | #### Sample Response
527 |
528 | ```json
529 | {
530 | "data": {
531 | {
532 | "users": [, , ]
533 | }
534 | },
535 | "success": 1
536 | }
537 | ```
538 |
539 |
540 | ### **GET** `/users//following` (requires authentication header)
541 |
542 | The `GET /users//following` endpoint retrieves the list of users followed by the given user.
543 |
544 | #### Sample Query
545 |
546 | ```bash
547 | curl -X GET -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users//following'
548 | ```
549 |
550 | #### Sample Response
551 |
552 | ```json
553 | {
554 | "data": {
555 | {
556 | "users": [, , ]
557 | }
558 | },
559 | "success": 1
560 | }
561 | ```
562 |
563 |
564 | ### **GET** `/users//followers/mutual` (requires authentication header)
565 |
566 | The `GET /users//following` endpoint retrieves the list of users both following and followed by the given user.
567 |
568 | #### Sample Query
569 |
570 | ```bash
571 | curl -X GET -H "Authorization: Bearer " -H "Content-Type:application/json" -H "Accept:application/json" https://api.byte.co/v1/users//followers/mutual'
572 | ```
573 |
574 | #### Sample Response
575 |
576 | ```json
577 | {
578 | "data": {
579 | {
580 | "users": [, , ]
581 | }
582 | },
583 | "success": 1
584 | }
585 | ```
586 |
587 |
588 |
589 |
590 | ## Names
591 |
592 | Names are a Byte representation of URLs on the legacy web—they map a human–readable String name to the unique post ID. Each Byte must have a unique name. To assist with this process, we supply an endpoint for checking name availabilty; an endpoint also exists for obtaining a set of randomly generated names conforming to the Byte standards. The basic naming rules are:
593 |
594 | * Minimum of 2 and maximum of 60 characters in length
595 | * Valid characters are alphanumeric, `_`, and `-`
596 | * A single `#` is allowed at the end of the name—this indicates a hidden Byte
597 | * Original casing is stored on the Byte, but "Apple" is the same as "apple" for lookup/claim purposes
598 | * The special name `random` points to a random byte rather than a particular byte
599 |
600 | A simple Python reg–ex to enforce this rule set is: `^[-\w]{2,60}#?$`
601 |
602 | | Method | Endpoint | Description |
603 | | :---: | :--- | :--- |
604 | | `GET` | [`/names`](#get-names) | Returns a set of ten randomly generated Byte names |
605 | | `POST` | [`/name/validate`](#post-namevalidate-optional-authentication-header) | Validates a single name for Byte usage |
606 |
607 |
608 | ### **GET** `/names`
609 |
610 | The `GET /names` endpoint returns a set of ten randomly generated names valid for Byte usage. Note that these names are available at the time of request, but may be claimed by other Bytes before the Byte creation step is completed.
611 |
612 | #### Sample Query
613 |
614 | ```bash
615 | curl -X GET -H "Accept:application/json" https://api.byte.co/v1/names
616 | ```
617 |
618 | #### Sample Response
619 |
620 | ```json
621 | {
622 | "data": {
623 | "names": [
624 | "-jk68bnvsqs",
625 | "egb5gyfi-6w",
626 | "n5e-fc3x54c",
627 | "bjzgnpiplla",
628 | "rorhs05_ywk",
629 | "f_ypauesbzk",
630 | "ypffiw81iou",
631 | "psffkjlnrc8",
632 | "iudle_6hbcy",
633 | "2mhw3a1pb8w"
634 | ]
635 | },
636 | "success": 1
637 | }
638 | ```
639 |
640 |
641 | ### **POST** `/name/validate` (optional authentication header)
642 |
643 | The `POST /name/validate` endpoint validates a single name for Byte usage; this also includes a (free!) availability check. Note that this is more of a hint than a promise, as the name may be claimed by another Byte before the Byte creation step is completed.
644 |
645 | If an authentication header is supplied, we will also check if the corresponding user has reached their daily quota of valuable names (we throttle these claims to discourage poaching/camping).
646 |
647 | | Parameter | Type | Description | Example |
648 | | :---: | :---: | :--- | :--- |
649 | | `name` | String | Required. The name to validate. | `"cat#"` |
650 |
651 | #### Sample Query
652 |
653 | ```bash
654 | curl -X POST -H "Accept:application/json" -H "Content-Type:application/json" https://api.byte.co/name/validate -d '{"name": "cat"}'
655 | ```
656 |
657 | #### Sample Response
658 |
659 | ```json
660 | {
661 | "data": {
662 | "ok": true
663 | },
664 | "success": 1
665 | }
666 | ```
667 |
668 | #### Error States
669 |
670 | | Code | Message |
671 | | :---: | :--- |
672 | | 1012 | Invalid name |
673 | | 1810 | Post name is unavailable |
674 | | 1811 | Valuable names are limited daily per user |
675 |
676 |
677 |
678 | ## Posts (Consumption)
679 |
680 | Posts are the crux of Byte—they are the Bytes themselves.
681 |
682 | I could try and tell a wonderfully impressive story about how we tried using the name `/bytes` in the API and perhaps it conflicted with a naming scheme in some versions of iOS but I won't: Bytes are called Posts because Byte has experienced several evolutions on the road to where we are today and the API naming didn't keep up with our copywriter's brilliance. That being said, be warned that we may possibly rename these endpoints in future API versions!
683 |
684 | Each Byte consists of a number of pieces of information:
685 |
686 | * `package`: Defined in the [BFF (Byte File Format)](./bff.md)
687 | * `caption`: A brief title string
688 | * `name`: The addressable endpoint for the Byte
689 | * `thumbnailSrc`: A url to a thumbnail image of the Byte
690 | * `musicSrc`: An optional url to an mp3 generated from the music object on the post
691 |
692 |
693 |
694 |
695 |
696 | | Method | Endpoint | Description |
697 | | :---: | :--- | :--- |
698 | | `GET` | [`/posts/id/`](#get-postsidstringpost_id-optional-authentication-header) | Returns a single Byte by ID |
699 | | `POST` | [`/posts/id`](#post-postsid-optional-authentication-header) | Returns a set of Bytes by ID |
700 | | `POST` | [`/posts/name`](#post-postsname-optional-authentication-header) | Returns one or more Bytes by name |
701 | | `GET` | [`/posts/self`](#get-postsself-requires-authentication-header) | Returns the set of Bytes created by a user |
702 | | `GET` | [`/posts/self/signed`](#get-postsselfsigned-requires-authentication-header) | Returns the set of signed Bytes created by a user |
703 | | `GET` | [`/posts/self/unsigned`](#get-postsselfunsigned-requires-authentication-header) | Returns the set of incognito Bytes created by a user |
704 | | `GET` | [`/posts/latest`](#get-postslatest-optional-authentication-header) | Returns a set of the most recent Bytes |
705 | | `GET` | [`/posts/popular`](#get-postspopular-optional-authentication-header) | Returns a set of the most popular Bytes |
706 |
707 |
708 | ### **GET** `/posts/id/` (optional authentication header)
709 |
710 | The `GET /posts/id/` endpoint returns a single Byte by ID.
711 |
712 | If an authentication header is supplied, the response will set the `post.ownedByUser` Boolean accordingly, indicating whether the user has edit permissions on the Byte.
713 |
714 | Optional query params:
715 |
716 | * `scheme`: One of `summary` or `full`
717 |
718 | #### Sample Query
719 |
720 | ```bash
721 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/id/
722 | ```
723 |
724 | #### Sample Response
725 |
726 | ```json
727 | {
728 | "data": {
729 | "post": {
730 |
731 | }
732 | },
733 | "success": 1
734 | }
735 | ```
736 |
737 | #### Error States
738 |
739 | | Code | Message |
740 | | :---: | :--- |
741 | | 1801 | Post does not exist |
742 |
743 |
744 | ### **POST** `/posts/id` (optional authentication header)
745 |
746 | The `POST /posts/id` endpoint returns a set of Bytes by ID.
747 |
748 | If an authentication header is supplied, the response will set the `post.ownedByUser` Booleans accordingly, indicating whether the user has edit permissions on the Bytes.
749 |
750 | Optional query params:
751 |
752 | * `scheme`: One of `summary` or `full`
753 |
754 | | Parameter | Type | Description | Example |
755 | | :---: | :---: | :--- | :--- |
756 | | `ids` | Array | Required. An array of Byte IDs (Strings). | `[""]` |
757 |
758 | #### Sample Query
759 |
760 | ```bash
761 | curl -X POST -H "Authorization: Bearer " -H "Accept:application/json" -H "Content-Type:application/json" https://api.byte.co/v1/posts/id -d '{"ids": ["", ""]}'
762 | ```
763 |
764 | #### Sample Response
765 |
766 | ```json
767 | {
768 | "data": {
769 | "posts": [, ]
770 | },
771 | "success": 1
772 | }
773 | ```
774 |
775 | #### Error States
776 |
777 | | Code | Message |
778 | | :---: | :--- |
779 | | 1005 | Invalid Object/Validation Error |
780 | | 1801 | Post does not exist |
781 |
782 |
783 | ### **POST** `/posts/name` (optional authentication header)
784 |
785 | The `POST /posts/name` endpoint returns one or more Bytes by name.
786 |
787 | If an authentication header is supplied, the response will set the `post.ownedByUser` Booleans accordingly, indicating whether the user has edit permissions on the Bytes.
788 |
789 | Optional query params:
790 |
791 | * `scheme`: One of `summary` or `full`
792 |
793 | | Parameter | Type | Description | Example |
794 | | :---: | :---: | :--- | :--- |
795 | | `name` | String | Optional. A single Byte name. | `"cat"` |
796 | | `names` | Array | Optional. Array of names (Strings). | `["cat", ...]` |
797 |
798 | One of `name` or `names` must be set.
799 |
800 | #### Sample Query
801 |
802 | ```bash
803 | curl -X POST -H "Authorization: Bearer " -H "Accept:application/json" -H "Content-Type:application/json" https://api.byte.co/v1/posts/name -d '{"name": ""}'
804 | ```
805 |
806 | #### Sample Response
807 |
808 | ```json
809 | {
810 | "data": {
811 | "post":
812 | },
813 | "success": 1
814 | }
815 | ```
816 |
817 | #### Sample Query
818 |
819 | ```bash
820 | curl -X POST -H "Authorization: Bearer " -H "Accept:application/json" -H "Content-Type:application/json" https://api.byte.co/v1/posts/name -d '{"names": ["", ""]}'
821 | ```
822 |
823 | #### Sample Response
824 |
825 | ```json
826 | {
827 | "data": {
828 | "posts": [, ]
829 | },
830 | "success": 1
831 | }
832 | ```
833 |
834 | #### Error States
835 |
836 | | Code | Message |
837 | | :---: | :--- |
838 | | 1005 | Invalid Object/Validation Error |
839 | | 1801 | Post does not exist |
840 |
841 |
842 | ### **GET** `/posts/self` (requires authentication header)
843 |
844 | The `GET /posts/self` endpoint returns all Bytes created by the requesting user.
845 |
846 | Optional query params:
847 |
848 | * `scheme`: One of `summary` or `full`
849 | * `cursor`: A String designating the current position in a query result set
850 |
851 | #### Sample Query
852 |
853 | ```bash
854 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/self
855 | ```
856 |
857 | #### Sample Response
858 |
859 | ```json
860 | {
861 | "data": {
862 | "cursor": "",
863 | "posts": ["", "", ""],
864 | "more": false
865 | },
866 | "success": 1
867 | }
868 | ```
869 |
870 | ### **GET** `/posts/self/signed` (requires authentication header)
871 |
872 | The `GET /posts/self/signed` endpoint returns all signed Bytes created by the requesting user.
873 |
874 | Optional query params:
875 |
876 | * `scheme`: One of `summary` or `full`
877 | * `cursor`: A String designating the current position in a query result set
878 |
879 | #### Sample Query
880 |
881 | ```bash
882 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/self/signed
883 | ```
884 |
885 | #### Sample Response
886 |
887 | ```json
888 | {
889 | "data": {
890 | "cursor": "",
891 | "posts": ["", "", ""],
892 | "more": false
893 | },
894 | "success": 1
895 | }
896 | ```
897 |
898 |
899 | ### **GET** `/posts/self/unsigned` (requires authentication header)
900 |
901 | The `GET /posts/self/unsigned` endpoint returns all incognito Bytes created by the requesting user.
902 |
903 | Optional query params:
904 |
905 | * `scheme`: One of `summary` or `full`
906 | * `cursor`: A String designating the current position in a query result set
907 |
908 | #### Sample Query
909 |
910 | ```bash
911 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/self/unsigned
912 | ```
913 |
914 | #### Sample Response
915 |
916 | ```json
917 | {
918 | "data": {
919 | "cursor": "",
920 | "posts": ["", "", ""],
921 | "more": false
922 | },
923 | "success": 1
924 | }
925 | ```
926 |
927 |
928 |
929 | ### **GET** `/posts/latest` (optional authentication header)
930 |
931 | The `GET /posts/latest` endpoint returns a set of the most recent Bytes across the entire Byteverse.
932 |
933 | If an authentication header is supplied, the response will set the `post.ownedByUser` Booleans accordingly, indicating whether the user has edit permissions on the Bytes.
934 |
935 | Optional query params:
936 |
937 | * `scheme`: One of `summary` or `full`
938 | * `cursor`: A String designating the current position in a query result set
939 | * `excludeBlanks`: If true, exclude blank posts from the results.
940 |
941 | #### Sample Query
942 |
943 | ```bash
944 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/latest
945 | ```
946 |
947 | #### Sample Response
948 |
949 | ```json
950 | {
951 | "data": {
952 | "cursor": "",
953 | "posts": [
954 | {
955 | "updated": 1441054312929,
956 | "author": {
957 | "username": "",
958 | "id": "",
959 | "profilePhoto": ""
960 | },
961 | "name": "",
962 | "created": 1441054312929,
963 | "deleted": false,
964 | "stickersCount": 0,
965 | "createdString": "1441054312929",
966 | "lookCount": 5,
967 | "caption": "",
968 | "thumbnailSrc": "",
969 | "updatedString": "1441054312929",
970 | "favCount": 0,
971 | "id": "",
972 | "commentsCount": 0
973 | },
974 | ],
975 | "more": true
976 | },
977 | "success": 1
978 | }
979 | ```
980 |
981 | ### **GET** `/posts/staff-picks` (optional authentication header)
982 |
983 | The `GET /posts/staff-picks` endpoint returns Bytes selected as noteworthy by Byte staff members.
984 |
985 | Optional query params:
986 |
987 | * `cursor`: A String designating the current position in a query result set
988 |
989 | #### Sample Query
990 |
991 | ```bash
992 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/staff-picks
993 | ```
994 |
995 | #### Sample Response
996 |
997 | ```json
998 | {
999 | "data": {
1000 | "cursor": "",
1001 | "posts": [
1002 | {
1003 | "updated": 1441050312977,
1004 | "author": {
1005 | "username": "",
1006 | "id": "",
1007 | "profilePhoto": ""
1008 | },
1009 | "name": "",
1010 | "created": 1439516560383,
1011 | "deleted": false,
1012 | "stickersCount": 7,
1013 | "createdString": "1439516560383",
1014 | "lookCount": 7,
1015 | "caption": "",
1016 | "thumbnailSrc": "",
1017 | "updatedString": "1441050312977",
1018 | "favCount": 0,
1019 | "id": "",
1020 | "commentsCount": 1
1021 | },
1022 | {
1023 | "updated": 1441050296279,
1024 | "author": {
1025 | "username": "",
1026 | "id": "",
1027 | "profilePhoto": ""
1028 | },
1029 | "name": "",
1030 | "created": 1439504831994,
1031 | "deleted": false,
1032 | "stickersCount": 11,
1033 | "createdString": "1439504831994",
1034 | "lookCount": 281,
1035 | "caption": "",
1036 | "thumbnailSrc": "",
1037 | "updatedString": "1441050296279",
1038 | "favCount": 16,
1039 | "id": "",
1040 | "commentsCount": 6
1041 | }
1042 | ],
1043 | "more": false
1044 | },
1045 | "success": 1
1046 | }
1047 | ```
1048 |
1049 |
1050 |
1051 | ### **GET** `/posts/popular` (optional authentication header)
1052 |
1053 | The `GET /posts/popular` endpoint returns a set of the most popular Bytes across the entire Byteverse.
1054 |
1055 | If an authentication header is supplied, the response will set the `post.ownedByUser` Booleans accordingly, indicating whether the user has edit permissions on the Bytes.
1056 |
1057 | Optional query params:
1058 |
1059 | * `scheme`: One of `summary` or `full`
1060 |
1061 | #### Sample Query
1062 |
1063 | ```bash
1064 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/popular
1065 | ```
1066 |
1067 | #### Sample Response
1068 |
1069 | ```json
1070 | {
1071 | "data": {
1072 | "posts": [
1073 | {
1074 | "updated": 1441021189449,
1075 | "name": "",
1076 | "author": {
1077 | "username": "",
1078 | "id": "",
1079 | "profilePhoto": ""
1080 | },
1081 | "created": 1440071195668,
1082 | "deleted": false,
1083 | "stickersCount": 0,
1084 | "createdString": "1440071195668",
1085 | "lookCount": 641,
1086 | "caption": "",
1087 | "thumbnailSrc": "",
1088 | "updatedString": "1441021189449",
1089 | "favCount": 21,
1090 | "id": "",
1091 | "commentsCount": 0
1092 | },
1093 | ]
1094 | },
1095 | "success": 1
1096 | }
1097 | ```
1098 |
1099 |
1100 |
1101 | ## Comments
1102 |
1103 | Users can place comments and stickers on individual Bytes. Offensive or inappropriate comments may be deleted without warning.
1104 | Users can edit or delete comments that they created. The author of a post can delete other users' comments from it.
1105 |
1106 |
1107 |
1108 | | Method | Endpoint | Description |
1109 | | :---: | :--- | :--- |
1110 | | `POST` | [`/posts/id//comments`](#post-postsidstringpost_idcomments-requires-authentication-header) | Places a comment on a Byte by ID |
1111 | | `PUT` | [`/posts/id//comments/`](#user-content-put-postsidstringpost_idcommentsstringcomment_id-requires-authentication-header) | Updates a comment |
1112 | | `DELETE` | [`/posts/id//comments/`](#user-content-delete-postsidstringpost_idcommentsstringcomment_id-requires-authentication-header) | Deletes a comment |
1113 |
1114 |
1115 | ### **POST** `/posts/id//comments` (requires authentication header)
1116 |
1117 | The `POST /posts/id//comments` endpoint places a comment on a Byte by ID.
1118 |
1119 | | Parameter | Type | Description | Example |
1120 | | :---: | :---: | :--- | :--- |
1121 | | `point` | Object | Required. `(x, y)` coordinates of the centre point of the comment corresponding to the location of the comment on the 324x570 canvas. | `{"x": 120, "y": 120}` |
1122 | | `body` | String | Optional. A comment String. This can include unicode and emoji characters, but links will not be parsed. | `"Hello!"` |
1123 | | `sticker` | String | Optional. A String corresponding to a sticker asset. | `"StickerCrab"` |
1124 |
1125 | One of `body` or `sticker` is required.
1126 |
1127 | Possible stickers are:
1128 | * `"StickerBandage"`
1129 | * `"StickerBeaker"`
1130 | * `"StickerBomb"`
1131 | * `"StickerBulb"`
1132 | * `"StickerCactus"`
1133 | * `"StickerCat"`
1134 | * `"StickerCorndog"`
1135 | * `"StickerCrab"`
1136 | * `"StickerDiamond"`
1137 | * `"StickerDog"`
1138 | * `"StickerDonut"`
1139 | * `"StickerDrop"`
1140 | * `"StickerEggplant"`
1141 | * `"StickerFrog"`
1142 | * `"StickerHeart"`
1143 | * `"StickerIce"`
1144 | * `"StickerIceCream"`
1145 | * `"StickerJellyfish"`
1146 | * `"StickerJoystick"`
1147 | * `"StickerKite"`
1148 | * `"StickerLighter"`
1149 | * `"StickerLightning"`
1150 | * `"StickerLime"`
1151 | * `"StickerMagGlass"`
1152 | * `"StickerMartini"`
1153 | * `"StickerMonkey"`
1154 | * `"StickerPlanet"`
1155 | * `"StickerPoo"`
1156 | * `"StickerRainbow"`
1157 | * `"StickerRibbon"`
1158 | * `"StickerSalt"`
1159 | * `"StickerSmiley"`
1160 | * `"StickerSpray"`
1161 | * `"StickerStar"`
1162 | * `"StickerTea"`
1163 | * `"StickerThumbsDown"`
1164 | * `"StickerThumbsUp"`
1165 | * `"StickerTissue"`
1166 | * `"StickerTopHat"`
1167 | * `"StickerTurtle"`
1168 |
1169 | #### Sample Queries
1170 |
1171 | ```bash
1172 | curl -X POST -H "Authorization: Bearer " -H "Content-Type: application/json" -H "Accept: application/json" https://api.byte.co/v1/posts/id//comments -d '{"point": {"x": 192, "y": 297}, "body": ""}'
1173 | ```
1174 |
1175 | ```bash
1176 | curl -X POST -H "Authorization: Bearer " -H "Content-Type: application/json" -H "Accept: application/json" https://api.byte.co/v1/posts/id//comments -d '{"point": {"x": 192, "y": 297}, "sticker": "StickerHeart"}'
1177 | ```
1178 |
1179 | #### Sample Responses
1180 |
1181 | ```json
1182 | {
1183 | "data": {
1184 | "comment": {
1185 | "body": "",
1186 | "author": {
1187 | "username": "",
1188 | "id": "",
1189 | "profilePhoto": ""
1190 | },
1191 | "point": {
1192 | "y": 297.0,
1193 | "x": 192.0
1194 | },
1195 | "markup": [],
1196 | "created": 1441057587673,
1197 | "createdString": "1441057587673",
1198 | "postId": "",
1199 | "type": "text",
1200 | "id": ""
1201 | }
1202 | },
1203 | "success": 1
1204 | }
1205 | ```
1206 |
1207 | ```json
1208 | {
1209 | "data": {
1210 | "comment": {
1211 | "author": {
1212 | "username": "",
1213 | "id": "",
1214 | "profilePhoto": ""
1215 | },
1216 | "point": {
1217 | "y": 297.0,
1218 | "x": 192.0
1219 | },
1220 | "sticker": "StickerHeart",
1221 | "created": 1441132161871,
1222 | "createdString": "1441132161871",
1223 | "postId": "",
1224 | "type": "sticker",
1225 | "id": ""
1226 | }
1227 | },
1228 | "success": 1
1229 | }
1230 | ```
1231 |
1232 | #### Error States
1233 |
1234 | | Code | Message |
1235 | | :---: | :--- |
1236 | | 1801 | Post does not exist |
1237 |
1238 |
1239 |
1240 | ### **PUT** `/posts/id//comments/` (requires authentication header)
1241 |
1242 | The `PUT /posts/id//comments/` endpoint updates a comment. Users can only update their own comments.
1243 |
1244 | | Parameter | Type | Description | Example |
1245 | | :---: | :---: | :--- | :--- |
1246 | | `point` | Object | Optional. `(x, y)` coordinates of the centre point of the comment corresponding to the location of the comment on the 324x570 canvas. | `{"x": 120, "y": 120}` |
1247 | | `body` | String | Optional. A comment String. This can include unicode and emoji characters, but links will not be parsed. | `"Hello!"` |
1248 | | `sticker` | String | Optional. A String corresponding to a sticker asset. | `"StickerCrab"` |
1249 |
1250 | All arguments are optional. Note that the type of a comment cannot be changed from text to sticker or vice versa.
1251 | A modified `body` field can only be included for a comment that already has a body (a text comment) and a modified `sticker` field can only be included for a comment that already has a sticker type.
1252 |
1253 | See comment creation for a list of sticker types.
1254 |
1255 |
1256 | #### Sample Queries
1257 |
1258 | ```bash
1259 | curl -X PUT -H "Authorization: Bearer " -H "Content-Type: application/json" -H "Accept: application/json" https://api.byte.co/v1/posts/id//comments/ -d '{"body": ""}'
1260 | ```
1261 |
1262 | ```bash
1263 | curl -X PUT -H "Authorization: Bearer " -H "Content-Type: application/json" -H "Accept: application/json" https://api.byte.co/v1/posts/id//comments/ -d '{"point": {"x": 192, "y": 297}, "sticker": "StickerHeart"}'
1264 | ```
1265 |
1266 | #### Sample Responses
1267 |
1268 | ```json
1269 | {
1270 | "data": {
1271 | "comment": {
1272 | "body": "",
1273 | "author": {
1274 | "username": "",
1275 | "id": "",
1276 | "profilePhoto": ""
1277 | },
1278 | "point": {
1279 | "y": 297.0,
1280 | "x": 192.0
1281 | },
1282 | "markup": [],
1283 | "created": 1441057587673,
1284 | "createdString": "1441057587673",
1285 | "postId": "",
1286 | "type": "text",
1287 | "id": ""
1288 | }
1289 | },
1290 | "success": 1
1291 | }
1292 | ```
1293 |
1294 | ```json
1295 | {
1296 | "data": {
1297 | "comment": {
1298 | "author": {
1299 | "username": "",
1300 | "id": "",
1301 | "profilePhoto": ""
1302 | },
1303 | "point": {
1304 | "y": 297.0,
1305 | "x": 192.0
1306 | },
1307 | "sticker": "StickerHeart",
1308 | "created": 1441132161871,
1309 | "createdString": "1441132161871",
1310 | "postId": "",
1311 | "type": "sticker",
1312 | "id": ""
1313 | }
1314 | },
1315 | "success": 1
1316 | }
1317 | ```
1318 |
1319 | #### Error States
1320 |
1321 | | Code | Message |
1322 | | :---: | :--- |
1323 | | 1801 | Post does not exist |
1324 | | 2004 | User does not have permissions to update comment |
1325 |
1326 |
1327 |
1328 |
1329 | ### **DELETE** `/posts/id//comments/` (requires authentication header)
1330 |
1331 | The `DELETE /posts/id//comments/` endpoint deletes a comment. Users can delete their own comments and any comments on posts that they created.
1332 |
1333 | #### Sample Query
1334 |
1335 | ```bash
1336 | curl -X DELETE -H "Authorization: Bearer " -H "Content-Type: application/json" -H "Accept: application/json" https://api.byte.co/v1/posts/id//comments/
1337 | ```
1338 |
1339 | #### Sample Responses
1340 |
1341 | ```json
1342 | {
1343 | "data": {},
1344 | "success": 1
1345 | }
1346 | ```
1347 |
1348 | #### Error States
1349 |
1350 | | Code | Message |
1351 | | :---: | :--- |
1352 | | 1801 | Post does not exist |
1353 | | 2004 | User does not have permissions to modify comment |
1354 |
1355 |
1356 |
1357 | ## Bookmarks
1358 |
1359 | Users have the ability to bookmark Bytes. This is similar to a bookmark in a web browser, with the added benefit of user notifications when bookmarked Bytes are updated. For legacy reasons the bookmark endpoints are prefixed with `fav`. Bookmarks were previously called stars.
1360 |
1361 | | Method | Endpoint | Description |
1362 | | :---: | :--- | :--- |
1363 | | `POST` | [`/posts/id//fav`](#post-postsidstringpost_idfav-requires-authentication-header) | Bookmarks a Byte by ID |
1364 | | `DELETE` | [`/posts/id//fav`](#delete-postsidstringpost_idfav-requires-authentication-header) | Removes a bookmark from a Byte by ID |
1365 | | `GET` | [`/posts/favs`](#get-postsfavs-requires-authentication-header) | Lists the current user's bookmarked Bytes |
1366 |
1367 |
1368 | ### **POST** `/posts/id//fav` (requires authentication header)
1369 |
1370 | The `POST /posts/id//fav` endpoint bookmarks a Byte by ID.
1371 |
1372 | #### Sample Query
1373 |
1374 | ```bash
1375 | curl -X POST -H "Authorization: Bearer " -H "Content-Type: application/json" -H "Accept: application/json" https://api.byte.co/v1/posts/id//fav -d '{}'
1376 | ```
1377 |
1378 | #### Sample Response
1379 |
1380 | ```json
1381 | {
1382 | "data": {},
1383 | "success": 1
1384 | }
1385 | ```
1386 |
1387 |
1388 | ### **DELETE** `/posts/id//fav` (requires authentication header)
1389 |
1390 | The `DELETE /posts/id//fav` endpoint removes a boomark from a Byte by ID.
1391 |
1392 | #### Sample Query
1393 |
1394 | ```bash
1395 | curl -X DELETE -H "Authorization: Bearer " -H "Accept: application/json" https://api.byte.co/v1/posts/id//fav
1396 | ```
1397 |
1398 | #### Sample Response
1399 |
1400 | ```json
1401 | {
1402 | "data": {},
1403 | "success": 1
1404 | }
1405 | ```
1406 |
1407 |
1408 | ### **GET** `/posts/favs` (requires authentication header)
1409 |
1410 | The `GET /posts/favs` endpoint gets a list of the current user's bookmarked Bytes, ordered by post updated time.
1411 |
1412 | Optional query params:
1413 |
1414 | * `scheme`: One of `summary` or `full`
1415 |
1416 | #### Sample Query
1417 |
1418 | ```bash
1419 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/favs
1420 | ```
1421 |
1422 | #### Sample Response
1423 |
1424 | ```json
1425 | {
1426 | "data": {
1427 | "posts": [
1428 | {
1429 | "updated": 1440385598347,
1430 | "name": "",
1431 | "created": 1440372454111,
1432 | "deleted": false,
1433 | "stickersCount": 2,
1434 | "createdString": "1440372454111",
1435 | "lookCount": 95,
1436 | "caption": "",
1437 | "thumbnailSrc": "",
1438 | "updatedString": "1440385598347",
1439 | "favCount": 0,
1440 | "id": "",
1441 | "commentsCount": 0
1442 | },
1443 | ]
1444 | },
1445 | "success": 1
1446 | }
1447 | ```
1448 |
1449 |
1450 |
1451 | ## Flags
1452 |
1453 | Flagging is an important part of keeping the Byte ecosystem safe, clean, and fun. Users have the ability to flag any given Byte for a variety of reasons, including:
1454 |
1455 | * Offensive Post
1456 | * Copyright Issue
1457 | * Contains Personal Information
1458 |
1459 | | Method | Endpoint | Description |
1460 | | :---: | :--- | :--- |
1461 | | `POST` | [`/posts/id//flag`](#post-postsidstringpost_idflag-requires-authentication-header) | Flags a Byte by ID |
1462 | | `DELETE` | [`/posts/id//flag`](#delete-postsidstringpost_idflag-requires-authentication-header) | Removes a flag from a Byte by ID |
1463 | | `GET` | [`/posts/flagged`](#get-postsflagged-requires-authentication-header) | Gets a list of Bytes flagged by a user |
1464 |
1465 |
1466 | ### **POST** `/posts/id//flag` (requires authentication header)
1467 |
1468 | The `POST /posts/id//flag` endpoint flags a Byte by ID.
1469 |
1470 | | Parameter | Type | Description | Example |
1471 | | :---: | :---: | :--- | :--- |
1472 | | `reason` | String | Required. The reason for the flag. | `"offensive"` |
1473 |
1474 | Potential `reason`s are:
1475 |
1476 | * `"offensive"`
1477 | * `"copyright"`
1478 | * `"personal_info"`
1479 |
1480 | #### Sample Query
1481 |
1482 | ```bash
1483 | curl -X POST -H "Authorization: Bearer " -H "Content-Type: application/json" -H "Accept: application/json" https://api.byte.co/v1/posts/id//flag -d '{"reason": "offensive"}'
1484 | ```
1485 |
1486 | #### Sample Response
1487 |
1488 | ```json
1489 | {
1490 | "data": {},
1491 | "success": 1
1492 | }
1493 | ```
1494 |
1495 |
1496 | ### **DELETE** `/posts/id//flag` (requires authentication header)
1497 |
1498 | The `DELETE /posts/id//flag` endpoint removes a flag from a Byte by ID.
1499 |
1500 | #### Sample Query
1501 |
1502 | ```bash
1503 | curl -X DELETE -H "Authorization: Bearer " -H "Accept: application/json" https://api.byte.co/v1/posts/id//flag
1504 | ```
1505 |
1506 | #### Sample Response
1507 |
1508 | ```json
1509 | {
1510 | "data": {},
1511 | "success": 1
1512 | }
1513 | ```
1514 |
1515 |
1516 | ### **GET** `/posts/flagged` (requires authentication header)
1517 |
1518 | The `GET /posts/flagged` endpoint returns a list of Bytes flagged by a user. This can be used to filter the Bytes from display, if desired.
1519 |
1520 | Optional query params:
1521 |
1522 | * `scheme`: One of `summary` or `full`
1523 | * `cursor`: A String designating the current position in a query result set
1524 |
1525 | #### Sample Query
1526 |
1527 | ```bash
1528 | curl -X GET -H "Authorization: Bearer " -H "Accept:application/json" https://api.byte.co/v1/posts/flagged
1529 | ```
1530 |
1531 | #### Sample Response
1532 |
1533 | ```json
1534 | {
1535 | "data": {
1536 | "cursor": "",
1537 | "posts": [
1538 | {
1539 | "updated": 1441050296279,
1540 | "name": "",
1541 | "created": 1439504831994,
1542 | "deleted": false,
1543 | "stickersCount": 11,
1544 | "createdString": "1439504831994",
1545 | "lookCount": 302,
1546 | "caption": "",
1547 | "thumbnailSrc": "