Important: Student favourite records have dependencies on both
customers/students and shops. The system validates both the student_id and
shop_id fields against existing records in the database. You should upload
customer/student and shop data before uploading student favourite mappings to
ensure proper data validation.
Authentication Required
This endpoint requires API key authentication via Bearer token in the Authorization header.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Cobi Documentation","colors":{"primary":"#9EB306","light":"#C8E108","dark":"#788A05"},"logo":{"light":"https://www.hellocobi.com/cobiLogo.svg","dark":"https://www.hellocobi.com/cobiLogo.svg"},"favicon":"https://mintcdn.com/cobi/TXkfCiVKOkAvB3cQ/favicon.ico?fit=max\u0026auto=format\u0026n=TXkfCiVKOkAvB3cQ\u0026q=85\u0026s=84db410cda412ea458541247778d0f13","api":{"openapi":"api-reference/openapi.yml","playground":{"display":"none"}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}]},"footer":{"socials":{"website":"https://www.hellocobi.com","linkedin":"https://www.linkedin.com/company/hellocobi"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cobi","hasAudioNarration":false,"actualSubdomain":"cobi","customDomains":["docs.hellocobi.com"],"gitSource":{"type":"github","owner":"hellocobi","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae927d7129d4a289f28b1d8:success","clientVersion":"0.0.4138","searchFilterCounts":[{"language":"default","tag":"API Reference","count":36},{"language":"default","tag":"Data","count":31},{"language":"default","tag":"Overview","count":29},{"language":"default","tag":"Endpoints","count":17},{"language":"default","tag":"Models","count":17},{"language":"default","tag":"Self-Hosted Deployment","count":12},{"language":"default","tag":"On-Premises Deployment","count":12},{"language":"default","tag":"Channels","count":8},{"language":"default","tag":"Slack","count":6},{"language":"default","tag":"Data Sources","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/data/endpoint/student-favourites","slug":"/api-reference/data/endpoint/student-favourites","pageMetadata":{"title":"Student Favourites","sidebarTitle":"Favourites","api":"POST /v1/data/student-favourites","description":"Upload student favourite mappings to the Cobi Data API.","mode":"wide","href":"/api-reference/data/endpoint/student-favourites"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Upload student favourite mappings to the Cobi Data API.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,Note,ParamField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Important`}),`: Student favourite records have dependencies on both\ncustomers/students and shops. The system validates both the `,_jsx(_components.code,{children:`student_id`}),` and\n`,_jsx(_components.code,{children:`shop_id`}),` fields against existing records in the database. You should upload\ncustomer/student and shop data before uploading student favourite mappings to\nensure proper data validation.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`authentication-required`,children:`Authentication Required`}),`\n`,_jsx(_components.p,{children:`This endpoint requires API key authentication via Bearer token in the Authorization header.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Authorization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Bearer YOUR_API_KEY`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Content-Type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` application/json`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`about-the-data-api`,children:`About the Data API`}),`\n`,_jsxs(_components.p,{children:[`This endpoint is part of the Cobi Data API (`,_jsx(_components.code,{children:`/v1/data/:type`}),`), which provides a consistent interface for uploading different types of structured data.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request Body`}),`\n`,_jsxs(ParamField,{body:`records`,type:`array`,required:true,id:`param-records`,children:[_jsx(_components.p,{children:`An array of student favourite mapping records (up to 5000)`}),_jsxs(Expandable,{title:`Student Favourite Record`,children:[_jsx(ParamField,{body:`favourite_id`,type:`string (UUID)`,id:`param-favourite-id`,children:_jsx(_components.p,{children:`Unique identifier for the favourite mapping`})}),_jsx(ParamField,{body:`student_id`,type:`string (UUID)`,required:true,id:`param-student-id`,children:_jsx(_components.p,{children:`ID of the student (must reference an existing customer/student)`})}),_jsx(ParamField,{body:`shop_id`,type:`string (UUID)`,required:true,id:`param-shop-id`,children:_jsx(_components.p,{children:`ID of the shop (must reference an existing shop)`})}),_jsx(ParamField,{body:`created`,type:`string (date-time)`,id:`param-created`,children:_jsx(_components.p,{children:`Timestamp when the record was created`})}),_jsx(ParamField,{body:`updated`,type:`string (date-time)`,id:`param-updated`,children:_jsx(_components.p,{children:`Timestamp when the record was last updated`})}),_jsx(ParamField,{body:`is_deleted`,type:`boolean`,id:`param-is-deleted`,children:_jsx(_components.p,{children:`Flag indicating if the record is marked as deleted`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(_components.p,{children:`The API returns a JSON response with the following fields:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`18`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"request_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Unique ID for the overall request`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"student-favourites\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Type of data being processed`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batches\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batch\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Sequential batch number`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`200`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// HTTP-like status code (200, 207, 400, 500)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// \"success\", \"partial\", or \"error\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"student-favourites\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Matches the top-level type`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Records uploaded successfully\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Summary message`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"request_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batch_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Optional — empty or null on success; contains error details otherwise`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`request_id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Unique ID for the overall request`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Type of data being processed (e.g., “student-favourites”)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches`})}),_jsx(_components.td,{children:`array`}),_jsx(_components.td,{children:`Array of batch results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].batch`})}),_jsx(_components.td,{children:`int`}),_jsx(_components.td,{children:`Sequential batch number`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].status`})}),_jsx(_components.td,{children:`int`}),_jsx(_components.td,{children:`HTTP-like status code (200, 207, 400, 500)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].data`})}),_jsx(_components.td,{children:`object`}),_jsx(_components.td,{children:`Batch result details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].data.status`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`”success”, “partial”, or “error”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].data.type`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Matches the top-level type`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].data.message`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Summary message of the batch result`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].data.request_id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Unique request ID for the batch`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].data.batch_id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Unique batch ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batches[].data.error`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Error details (empty or null on success)`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`error-codes`,children:`Error Codes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status Code`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`data.status value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`200`}),_jsx(_components.td,{children:`All records processed successfully`}),_jsx(_components.td,{children:`success`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`207`}),_jsx(_components.td,{children:`Some records failed, others succeeded`}),_jsx(_components.td,{children:`partial`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:`Validation or dependency error`}),_jsx(_components.td,{children:`error`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`500`}),_jsx(_components.td,{children:`Internal or unexpected server error`}),_jsx(_components.td,{children:`error`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:`Unauthorized - Invalid or missing API key`}),_jsx(_components.td,{children:`error`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.hellocobi.com/v1/data/student-favourites`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"records\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"favourite_id\": \"550e8400-e29b-41d4-a716-446655440000\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"student_id\": \"550e8400-e29b-41d4-a716-446655440001\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"shop_id\": \"550e8400-e29b-41d4-a716-446655440002\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"created\": \"2023-01-15T14:30:00Z\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"updated\": \"2023-06-22T09:15:30Z\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"is_deleted\": false`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best Practices`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Upload Order`}),`: Upload customers/students and shops before student-favourites to ensure references exist`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Batch Size`}),`: Upload up to 5000 records at a time for optimal performance`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Data Validation`}),`: Ensure all required fields are present and properly formatted`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Error Handling`}),`: Implement proper error handling for failed requests`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Rate Limiting`}),`: Be mindful of API rate limits`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Soft Deletion`}),`: Use the is_deleted flag instead of permanently deleting records`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Need help? Contact our support team at `,_jsx(_components.a,{href:`mailto:[email protected]`,children:`[email protected]`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Student Favourites","sidebarTitle":"Favourites","api":"POST /v1/data/student-favourites","description":"Upload student favourite mappings to the Cobi Data API.","mode":"wide","href":"/api-reference/data/endpoint/student-favourites"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Authentication Required","slug":"authentication-required","depth":2,"children":[]},{"title":"About the Data API","slug":"about-the-data-api","depth":2,"children":[]},{"title":"Request Body","slug":"request-body","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Error Codes","slug":"error-codes","depth":2,"children":[]},{"title":"Example","slug":"example","depth":2,"children":[]},{"title":"Best Practices","slug":"best-practices","depth":2,"children":[]}],"codeExamples":{},"endpoint":{"title":"Student Favourites","path":"/v1/data/student-favourites","method":"post","request":{"security":[],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"records":[{"type":"array","items":[{"type":"object","properties":{"favourite_id":[{"type":"object","properties":{},"description":"Unique identifier for the favourite mapping"}],"student_id":[{"type":"object","properties":{},"description":"ID of the student (must reference an existing customer/student)","required":true}],"shop_id":[{"type":"object","properties":{},"description":"ID of the shop (must reference an existing shop)","required":true}],"created":[{"type":"object","properties":{},"description":"Timestamp when the record was created"}],"updated":[{"type":"object","properties":{},"description":"Timestamp when the record was last updated"}],"is_deleted":[{"type":"boolean","description":"Flag indicating if the record is marked as deleted"}]}}],"description":"An array of student favourite mapping records (up to 5000)","required":true}]}}],"examples":{"example":{"value":{"records":[{"favourite_id":{},"student_id":{},"shop_id":{},"created":{},"updated":{},"is_deleted":true}]}}}}}},"response":{},"deprecated":false}},"jsLinks":[],"subdomain":"cobi","siteName":"Cobi Documentation","title":"Student Favourites - Cobi Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T08:00:46.479Z","originalFileLocation":"api-reference/data/endpoint/student-favourites.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Upload student favourite mappings to the Cobi Data API.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cobi Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Student Favourites - Cobi Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Upload student favourite mappings to the Cobi Data API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cobi Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cobi.mintlify.site/_mintlify/api/og/v2?division=Endpoints\u0026amp;title=Student+Favourites\u0026amp;description=Upload+student+favourite+mappings+to+the+Cobi+Data+API.\u0026amp;theme=f75fbde0b77631b21ae3abb9\u0026amp;signature=9b14253b578b9aff1078549b1811533770fba082041aca9dcd55808b0246582d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Student Favourites - Cobi Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Upload student favourite mappings to the Cobi Data API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cobi.mintlify.site/_mintlify/api/og/v2?division=Endpoints\u0026amp;title=Student+Favourites\u0026amp;description=Upload+student+favourite+mappings+to+the+Cobi+Data+API.\u0026amp;theme=f75fbde0b77631b21ae3abb9\u0026amp;signature=9b14253b578b9aff1078549b1811533770fba082041aca9dcd55808b0246582d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cobi/ksYxqsROLb6VcqjO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cobi Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#9EB306\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/data/endpoint/student-favourites.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hellocobi.com/#organization\",\"name\":\"Cobi Documentation\",\"url\":\"https://docs.hellocobi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://www.hellocobi.com/cobiLogo.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hellocobi.com#website\",\"name\":\"Cobi Documentation\",\"url\":\"https://docs.hellocobi.com\",\"publisher\":{\"@id\":\"https://docs.hellocobi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites#webpage\",\"url\":\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites\",\"name\":\"Student Favourites\",\"description\":\"Upload student favourite mappings to the Cobi Data API.\",\"dateModified\":\"2026-01-07T08:00:46.479Z\",\"isPartOf\":{\"@id\":\"https://docs.hellocobi.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data\",\"item\":\"https://docs.hellocobi.com/api-reference/data/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Endpoints\",\"item\":\"https://docs.hellocobi.com/api-reference/data/endpoint/customers\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Student Favourites\",\"item\":\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites#apireference\",\"headline\":\"Student Favourites\",\"name\":\"Student Favourites\",\"description\":\"Upload student favourite mappings to the Cobi Data API.\",\"url\":\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hellocobi.com/api-reference/data/endpoint/student-favourites#webpage\"},\"dateModified\":\"2026-01-07T08:00:46.479Z\",\"publisher\":{\"@id\":\"https://docs.hellocobi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hellocobi.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Cobi Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Cobi Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/data/endpoint/student-favourites.md","siteName":"Cobi Documentation","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Data","pages":[{"title":"Overview","href":"/api-reference/data/overview"},{"group":"Endpoints","pages":[{"title":"Customers","api":"POST /v1/data/customers","mode":"wide","href":"/api-reference/data/endpoint/customers"},{"title":"Transactions","api":"POST /v1/data/transactions","mode":"wide","href":"/api-reference/data/endpoint/transactions"},{"title":"Offers","api":"POST /v1/data/offers","mode":"wide","href":"/api-reference/data/endpoint/offers"},{"title":"Shops","api":"POST /v1/data/shops","mode":"wide","href":"/api-reference/data/endpoint/shops"},{"title":"Branches","api":"POST /v1/data/branches","mode":"wide","href":"/api-reference/data/endpoint/branches"},{"title":"Categories","api":"POST /v1/data/categories","mode":"wide","href":"/api-reference/data/endpoint/categories"},{"title":"Shop Categories","api":"POST /v1/data/shop-categories","mode":"wide","href":"/api-reference/data/endpoint/shop-categories"},{"title":"Tags","api":"POST /v1/data/tags","mode":"wide","href":"/api-reference/data/endpoint/tags"},{"title":"Shop Tags","api":"POST /v1/data/shop-tags","mode":"wide","href":"/api-reference/data/endpoint/shop-tags"},{"title":"Keywords","api":"POST /v1/data/keywords","mode":"wide","href":"/api-reference/data/endpoint/keywords"},{"title":"Shop Keywords","api":"POST /v1/data/shop-keywords","description":"Upload shop keyword mappings to the Cobi Data API","mode":"wide","href":"/api-reference/data/endpoint/shop-keywords"},{"title":"Student Favourites","sidebarTitle":"Favourites","api":"POST /v1/data/student-favourites","mode":"wide","href":"/api-reference/data/endpoint/student-favourites"},{"title":"Institutes","api":"POST /v1/data/institutes","description":"Upload institute records to the Cobi Data API.","mode":"wide","href":"/api-reference/data/endpoint/institutes"},{"title":"Courses","api":"POST /v1/data/courses","mode":"wide","href":"/api-reference/data/endpoint/courses"},{"title":"Interactions","api":"POST /user-interactions","mode":"wide","href":"/api-reference/data/endpoint/user-interactions"}]},{"group":"Models","pages":[{"title":"Customer Model","href":"/api-reference/data/models/customer"},{"title":"Transaction Model","href":"/api-reference/data/models/transaction"},{"title":"Offer Model","href":"/api-reference/data/models/offer"},{"title":"Shop Model","href":"/api-reference/data/models/shop"},{"title":"Branch Model","href":"/api-reference/data/models/branch"},{"title":"Category Model","href":"/api-reference/data/models/category"},{"title":"Shop Category Model","href":"/api-reference/data/models/shop-category"},{"title":"Tag Model","href":"/api-reference/data/models/tag"},{"title":"Shop Tag Model","href":"/api-reference/data/models/shop-tag"},{"title":"Keyword Model","href":"/api-reference/data/models/keyword"},{"title":"Shop Keyword Model","href":"/api-reference/data/models/shop-keyword"},{"title":"Student Favourite Model","href":"/api-reference/data/models/student-favourite"},{"title":"Institute Model","href":"/api-reference/data/models/institute"},{"title":"Course Model","href":"/api-reference/data/models/course"},{"title":"Interaction Model","href":"/api-reference/data/models/user-interaction"}]}]},{"group":"Recommendations","pages":[{"title":"Overview","href":"/api-reference/recommendations/overview"},{"group":"Endpoints","pages":[{"title":"Customer Recommendations","api":"GET /v1/recommendations/customers/{customer_id}","mode":"wide","href":"/api-reference/recommendations/endpoint/customers"},{"title":"Segment Recommendations","api":"GET /v1/recommendations/segments/{segment_id}","mode":"wide","href":"/api-reference/recommendations/endpoint/segments"}]},{"group":"Models","pages":[{"title":"Customer Recommendation Model","href":"/api-reference/recommendations/models/customer-recommendation"},{"title":"Segment Recommendation Model","href":"/api-reference/recommendations/models/segment-recommendation"}]}]}]}]},"basePath":"","title":"Student Favourites - Cobi Documentation","buildId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","deploymentId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","dynamics":["c2aa737661","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-BvKnMd7F.js","utils-BMt52org.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CGXZuDGO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dl57XWH2.js","snippetPresets-CWd8CxSk.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-Chgj7sZe.js","ApiExamples-BR-Wkc_D.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-YMmi08aZ.js","shallow-DBC1OB78.js","getApiPlaygroundDisplay-Be7mmEzP.js","CodeSnippet-B14o1TgQ.js","CodeSnippets-CJ2q3fTq.js","getPastedJson-DnpLXm8x.js","icon-BpkSFtdK.js","MethodPill-BO3zPf-g.js","DuplicateIcon-Bib3qwfw.js","createIcon-CY2noFo3.js","DynamicMarkdown-TAXIW2vN.js","SectionHeading-Dfs3Fmfw.js","axios-vUo_bRtp.js"]}