{"templateId":"markdown","versions":[{"version":"v1","label":"v1","link":"/docs/v1/getting-started","default":false,"active":false,"folderId":"a2557b8d"},{"version":"v2","label":"v2","link":"/docs/getting-started","default":true,"active":true,"folderId":"a2557b8d"}],"sharedDataIds":{"sidebar":"sidebar-docs/@v1/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Getting Started with the FloQast v2 API","description":"Learn the core concepts of the FloQast v2 API — authentication, the response envelope, pagination, and error handling.","siteUrl":"https://developer.floqast.com","image":"https://developer.floqast.com/og-image.png","keywords":["FloQast API","developer portal","accounting automation","financial close API","reconciliation API"],"llmstxt":{"hide":false,"title":"FloQast Developer Portal","description":"API documentation and developer resources for the FloQast platform — authentication, reconciliations, close module, compliance, and data connectors.","sections":[{"title":"Getting Started","includeFiles":["docs/@v1/getting-started.md","quick-start/**/*"],"excludeFiles":[]},{"title":"Guides","includeFiles":["learn/v1/**/*"],"excludeFiles":[]},{"title":"API Reference","includeFiles":["api-reference/**/*"],"excludeFiles":[]},{"title":"Changelog","includeFiles":["change-log/**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"getting-started-with-the-floqast-v2-api","__idx":0},"children":["Getting Started with the FloQast v2 API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The FloQast v2 API follows consistent patterns across all endpoints. This page covers the concepts you need before making your first request."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication","__idx":1},"children":["Authentication"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All FloQast API requests require a valid API key passed in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["x-api-key"]}," header:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl \"https://apix.floqast.app/v2/core/users\" \\\n  -H \"x-api-key: <your-api-key>\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Contact your administrator to generate API keys. Each key has scoped permissions — use the minimum required scopes for your integration."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response-envelope","__idx":2},"children":["Response Envelope"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every response — success or error — uses the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ data, errors, metadata }"]}," envelope:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"data\": { ... },\n  \"errors\": [],\n  \"metadata\": {\n    \"pagination\": {\n      \"totalCount\": 42,\n      \"limit\": 25,\n      \"offset\": 0,\n      \"hasMore\": true\n    },\n    \"links\": {\n      \"self\": \"/v2/core/users?limit=25&offset=0\",\n      \"next\": \"/v2/core/users?limit=25&offset=25\",\n      \"prev\": null\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The response payload. Object for single resources, array for collections."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["errors"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Always empty on success. Contains structured error objects on failure."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contains ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pagination"]}," and navigation ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["links"]},". Omitted when empty (e.g. single-resource responses)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"pagination","__idx":3},"children":["Pagination"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List endpoints use offset-based pagination via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limit"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offset"]}," query parameters:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Default"},"children":["Default"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Max"},"children":["Max"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["25"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["100"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Number of items to return"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offset"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["0"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Number of items to skip"]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Page 2 of results (items 26–50)\ncurl \"https://apix.floqast.app/v2/core/users?limit=25&offset=25\" \\\n  -H \"x-api-key: <your-api-key>\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata.pagination.hasMore"]}," to determine if additional pages exist."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"error-handling","__idx":4},"children":["Error Handling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All error responses use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ errors: [...] }"]}," — always an array, even for a single error:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"id\": \"req_abc123\",\n      \"title\": \"Not Found\",\n      \"status\": 404,\n      \"code\": \"resource_not_found\",\n      \"detail\": \"User 64abc123 was not found in this tenant.\",\n      \"instance\": \"/v2/core/users/64abc123\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Request trace ID — include this when contacting support."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["title"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Short, stable summary of the error type (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Not Found"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Bad Request"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["HTTP status code mirroring the response status."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["code"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Machine-readable error code (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resource_not_found"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["invalid_parameter"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["detail"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Human-readable, occurrence-specific explanation."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instance"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["URI path of the request that produced this error."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["param"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The field or query parameter that caused the error (when applicable)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"rate-limiting","__idx":5},"children":["Rate Limiting"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API enforces rate limits. When exceeded, the response is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["429 Too Many Requests"]}," with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Retry-After"]}," header indicating seconds to wait before retrying."]}]},"headings":[{"value":"Getting Started with the FloQast v2 API","id":"getting-started-with-the-floqast-v2-api","depth":1},{"value":"Authentication","id":"authentication","depth":2},{"value":"Response Envelope","id":"response-envelope","depth":2},{"value":"Pagination","id":"pagination","depth":2},{"value":"Error Handling","id":"error-handling","depth":2},{"value":"Rate Limiting","id":"rate-limiting","depth":2}],"frontmatter":{"title":"Getting Started","slug":"/docs/v2/getting-started","seo":{"description":"Learn the core concepts of the FloQast v2 API — authentication, the response envelope, pagination, and error handling.","title":"Getting Started with the FloQast v2 API"}},"lastModified":"2026-06-18T10:06:58.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/v2/getting-started","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}