{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Quickstart","description":"REST API for the Dyflexis workforce management platform: employees, scheduling, time clock, payroll, absence, and workload, demand forecasting, staff capacity.","keywords":["Dyflexis","workforce management API","staff scheduling API","time clock API","payroll API","staff capacity API","absence management API","OpenAPI 3.1"],"siteUrl":"https://beta-developer.dyflexis.com","lang":"en-US","llmstxt":{"sections":[{"title":"API reference","description":"OpenAPI 3.1 reference for every Dyflexis endpoint.","includeFiles":["openapi.yaml","paths/**","components/**"],"excludeFiles":[]},{"title":"Guides","description":"Onboarding, quickstart, integration patterns, webhook receiver contract, and the partner process.","includeFiles":["index.md","guides/**"],"excludeFiles":[]}],"hide":false,"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"quickstart","__idx":0},"children":["Quickstart"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Make your first successful Dyflexis API call in five minutes."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-you-need","__idx":1},"children":["What you need"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["An API key."]}," Issued by Dyflexis when you ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/become-a-partner"},"children":["become a partner"]},"; during development you receive a key for your dedicated sandbox tenant. Keys are sent in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," header with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Token "]}," prefix."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A system name."]}," The tenant identifier of the Dyflexis environment you are calling, it is the first path segment of every URL (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://app.dyflexis.com/{systemName}/..."]},"). The customer (or your sandbox welcome mail) provides this value."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A scope that matches the endpoint."]}," Every operation in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi"},"children":["API reference"]}," lists the scope it requires. The call below works with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_employees"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["clock"]}," scope."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"your-first-call","__idx":2},"children":["Your first call"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List the offices on the tenant:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl 'https://app.dyflexis.com/{systemName}/api2/offices' \\\n  -H 'Accept: application/json' \\\n  -H 'Authorization: Token YOUR_AUTH_TOKEN'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Replace ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{systemName}"]}," with your tenant's system name and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR_AUTH_TOKEN"]}," with your API key."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A successful response returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200 OK"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"offices\": [\n    {\n      \"id\": 1,\n      \"name\": \"Harborview Grand Hotel\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"if-it-didnt-work","__idx":3},"children":["If it didn't work"]},{"$$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":"Response"},"children":["Response"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Cause"},"children":["Cause"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Fix"},"children":["Fix"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["401 Unauthorized"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Missing or malformed ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," header"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization: Token YOUR_AUTH_TOKEN"]},", the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Token "]}," prefix is part of the header value"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403 Forbidden"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your key does not include the required scope"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ask Dyflexis to enable the scope on your key"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["404 Not Found"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wrong system name in the URL"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Verify the tenant identifier with the customer"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":4},"children":["Next steps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Pick the integration shape that matches your product in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/use-cases"},"children":["Use cases"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Browse the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi"},"children":["API reference"]}," for the resources you need, every operation lists its scope, request and response schemas, and ready-made code samples."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Receiving events instead of polling? See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/webhooks"},"children":["Webhooks guide"]},"."]}]}]},"headings":[{"value":"Quickstart","id":"quickstart","depth":1},{"value":"What you need","id":"what-you-need","depth":2},{"value":"Your first call","id":"your-first-call","depth":2},{"value":"If it didn't work","id":"if-it-didnt-work","depth":2},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"seo":{"title":"Quickstart"}},"lastModified":"2026-06-12T15:21:56.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/quickstart","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}