### Favro API Authentication Example Source: https://favro.com/developer/index Demonstrates how to authenticate with the Favro API using basic authentication with an email and an API token. It shows a GET request to retrieve organizations. ```bash curl -X GET "https://favro.com/api/v1/organizations" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"token" ``` -------------------------------- ### Get all Tasklists for a Card Source: https://favro.com/developer/index Example using curl to retrieve all tasklists associated with a specific card. ```shell curl -X GET "https://favro.com/api/v1/tasklists?cardCommonId=67973f72db34592d8fc96c48" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"password" ``` -------------------------------- ### Update Card Response Example Source: https://favro.com/developer/index An example JSON response received after successfully updating a card, showing the updated card details and its current state. ```json { "cardId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "columnId": "b4d8c6283d9d58f9a39108e7", "name": "This is a card", "createdByUserId": "p3tB8yWgtaMnDYdzW", "createdAt": "2023-02-06T12:46:45.945+00:00", "customFields": [ { "customFieldId": "kj4qQzhLMJ73dybBR", "total": 50400000, "reports": { "XTdS5bP6qX9Ta3rwt": { "reportId": "29ed6478b55f90d91c5f4727", "createdAt": "2016-01-13T00:00:00.000Z", "value": 50400000, "description": "Timesheet report description" } } } ], "archived": false, "timeOnBoard": { "time": 72000000, "isStopped": true }, "timeOnColumns": { "b4d8c6283d9d58f9a39108e7": 54000000, "as4d566783d9d58onuf8538f": 18000000 } } ``` -------------------------------- ### Create a Tasklist Source: https://favro.com/developer/index Example using curl to create a new tasklist on a Favro card. ```shell curl -X POST "https://favro.com/api/v1/tasklists" \ -d '{ "cardCommonId": "67973f72db34592d8fc96c52", "name": "This is a task list", "position": 1 }' \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -H "Content-Type: application/json" \ -u "user@example.com":"password" ``` -------------------------------- ### Get a Specific Tasklist Source: https://favro.com/developer/index Example using curl to retrieve a single tasklist by its ID. ```shell curl -X GET "https://favro.com/api/v1/tasklists/67973f72db34592d8fc96c48" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"password" ``` -------------------------------- ### Get all Favro Tasks (curl) Source: https://favro.com/developer/index Example using curl to retrieve a paginated list of tasks associated with a specific card and optionally a task list. ```curl curl -X GET "https://favro.com/api/v1/tasks?cardCommonId=67973f72db34592d8fc96c48&taskListId=67973f72db34592d8fc96c52" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"password" ``` -------------------------------- ### Create a Favro Task (curl) Source: https://favro.com/developer/index Example using curl to create a new task within a specified task list on a card. ```curl curl -X POST "https://favro.com/api/v1/tasks" \ -d '{ "taskListId": "67973f72db34592d8fc96c52", "name": "This is a task", "position": 1, "completed": false }' \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -H "Content-Type: application/json" \ -u "user@example.com":"password" ``` -------------------------------- ### Delete Card Response Example Source: https://favro.com/developer/index Example response from the Favro API after successfully deleting one or more cards. ```json ["67973f72db34592d8fc96c48","67973f72db34592d8fc96c49","67973f72db34592d8fc96c50"] ``` -------------------------------- ### Delete Card Request Example Source: https://favro.com/developer/index Example using curl to send a DELETE request to the Favro API to delete a specific card. ```bash curl -X DELETE "https://favro.com/api/v1/cards/67973f72db34592d8fc96c48" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"password" ``` -------------------------------- ### Update Card Request Example Source: https://favro.com/developer/index A cURL command demonstrating how to update a specific card in Favro, including setting its name and modifying custom field reports. ```curl curl -X PUT "https://favro.com/api/v1/cards/67973f72db34592d8fc96c48" \ -d '{ "name": "This is a card", "customFields": [{ "customFieldId": "kj4qQzhLMJ73dybBR", "updateUserReports": [{ "reportId": "29ed6478b55f90d91c5f4727", "value": 50400000 }], "removeUserReports": [{ "reportId": "29ed6478b55f90d91c5f4728" }] }] }' \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -H "Content-Type: application/json" \ -u "user@example.com":"password" ``` -------------------------------- ### Create Favro Card Request Source: https://favro.com/developer/index Example of how to create a new card in Favro using the API via a cURL request. This includes the HTTP method, endpoint, request body with card details, and necessary headers. ```curl curl -X POST "https://favro.com/api/v1/cards" \ -d '{ "name": "This is a card", "widgetCommonId": "ff440e8f358c08513a86c8d6", "columnId": "b4d8c6283d9d58f9a39108e7", "customFields": [{ "customFieldId": "kj4qQzhLMJ73dybBR", "addUserReports": [{ "value": 50400000 }] }] }' \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -H "Content-Type: application/json" \ -u "user@example.com":"password" ``` -------------------------------- ### Get All Tags - Favro API Source: https://favro.com/developer/index Retrieves a paginated list of all tags matching specified parameters. Requires the `organizationId` header. Supports filtering by `name` and `color`. ```shell curl -X GET "https://favro.com/api/v1/tags" \ -d name="Tag" \ -d color="red" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"password" ``` ```APIDOC HTTP Request: GET https://favro.com/api/v1/tags Headers: - organizationId: The ID of the organization (required). - Authorization: Basic Auth with user credentials. Query Parameters: - name (string, optional): Filter by tag name. - color (string, optional): Filter by tag color. Response: A paginated array of tag objects. Example: {"limit":100,"page":0,"pages":1,"requestId":"8cc57b1d8a218fa639c8a0fa","entities":[{"tagId":"67973f72db34592d8fc96c48","organizationId":"zk4CJpg5uozhL4R2W","name":"My tag","color":"purple"}]} ``` -------------------------------- ### Favro API: Get Card Dependencies Source: https://favro.com/developer/index Retrieves all dependencies associated with a specific card. Requires the card ID and organization ID for authentication and routing. The response includes a list of dependency objects, each detailing the related card IDs and their relationship. ```APIDOC GET /api/v1/cards/:cardId/dependencies --- **Description:** Retrieves all dependencies of a card. **HTTP Request:** `GET https://favro.com/api/v1/cards/:cardId/dependencies` **Headers:** - `organizationId`: The ID of the organization the call is made against. **Query Parameters:** - `cardId` (string): The ID of the card whose dependencies are to be retrieved. **Example Request:** ```curl curl -X GET "https://favro.com/api/v1/cards/67973f72db34592d8fc96c48/dependencies" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"password" ``` **Example Response:** ```json { "cardId": "67973f72db34592d8fc96c48", "cardCommonId": "ff440e8f358c08513a86c8d6", "organizationId": "zk4CJpg5uozhL4R2W", "dependencies": [ { "cardId": "eRryDkeAwojKHXBML", "cardCommonKey": "ff440e8f358c08513a86c8d6", "isBefore": true, "reverseCardId": "67973f72db34592d8fc96c48" } ] } ``` ``` -------------------------------- ### Get a specific Favro Task (curl) Source: https://favro.com/developer/index Example using curl to retrieve details of a single task by its unique ID. ```curl curl -X GET "https://favro.com/api/v1/tasks/67973f72db34592d8fc96c48" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"password" ``` -------------------------------- ### Create Favro Webhook Source: https://favro.com/developer/index Demonstrates how to create a new webhook in Favro using a curl command. It includes the necessary POST request, headers, authentication, and a JSON payload specifying webhook details like URL, name, and options. ```shell curl -X POST "https://favro.com/api/v1/webhooks" \ -d '{ "widgetCommonId": "b4d8c6283d9d58f9a39108e7", "name": "This is a webhook", "postToUrl": "https://yourserver.com/webhookfromfavro", "secret": "secret-key", "options": { "columnIds": ["67973f72db34592d8fc96c48"], "notifications": [ "Card created", "Card moved" ] } }' \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -H "Content-Type: application/json" \ -u "user@example.com":"password" ``` ```json { "webhookId": "LpeXFaAwnPw7ynmdr", "widgetCommonId": "b4d8c6283d9d58f9a39108e7", "name": "This is a webhook", "postToUrl": "https://yourserver.com/webhookfromfavro", "secret": "secret-key", "options": { "columnId": "67973f72db34592d8fc96c48", "notifications": [ "Card created", "Card moved" ] } } ``` -------------------------------- ### SCIM v1.1 User Provisioning API Source: https://favro.com/developer/index API endpoints for SCIM v1.1 user and group provisioning. Requires SAML SSO to be configured. Supports pagination and filtering. ```APIDOC SCIM v1.1 User Provisioning Base URL: https://favro.com/api/scim/v1 ## Pagination Query Parameters - `count` (number): The number of resources to retrieve. - `startIndex` (number): The number of resources to skip initially. ## Get all users Retrieves all user resources. Supports pagination and filtering on email. **Endpoint:** `GET /Users` **Request:** ```shell curl -X GET "https://favro.com/api/scim/v1/Users" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' ``` **Query Parameters:** - `filter` (string): The filter to use when retrieving users. Example: `userName eq email@domain.com` **Response Example:** ```json { "totalResults": 1, "itemsPerPage": 100, "startIndex": 1, "schemas": [ "urn:scim:schemas:core:1.0" ], "Resources": [ { "schemas": [ "urn:scim:schemas:core:1.0" ], "id": "XL7tBffEMcasFPeQy", "userName": "user@favro.com", "name": { "givenName": "Favro", "familyName": "User" }, "displayName": "Favro User", "active": true, "emails": [ { "value": "user@favro.com", "primary": true } ], "entitlements": [ { "FavroRole": "Guest" } ], "favroRole": "Guest", "groups": [], "meta": { "resourceType": "User", "created": "2017-03-20T15:28:10.582Z", "lastModified": "2017-03-20T15:28:10.582Z", "location": "https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy" } } ] } ``` ## SAML Single Sign-on Configuration Favro supports user login and provisioning via SAML. Requires Enterprise plan and a verified domain. **Favro SAML Configuration:** - **Audience/entity ID**: `https://favro.com/saml/metadata.xml` - **Consumer URL**: `https://favro.com/saml/assert` - **Single Logout URL**: `https://favro.com/saml/slo` - **NameId format**: `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress` **Just-in-Time Provisioning Attributes:** - **First Name**: `given_name`, `attributes.First Name`, `attributes.givenName`, `attributes.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname` - **Last Name**: `surname`, `attributes.Last Name`, `attributes.familyName`, `attributes.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname` - **Favro Role**: `attributes.favroRole`, `attributes.FavroRole` (Can be set to a provisioning role for specific roles like Administrator, Full Member, External Member, Guest). **Provisioning Roles:** - **Administrator**: Requires enabling in domain settings. - **Full Member** - **External Member** - **Guest** ``` -------------------------------- ### Favro SCIM API: User Provisioning Source: https://favro.com/developer/index Provides endpoints for managing users within Favro via the SCIM API. Supports retrieving all users, a single user, and creating new users. Requires bearer token authentication. ```APIDOC Favro SCIM API User Management: GET https://favro.com/api/scim/v2/Users - Retrieves all user resources. - Supports pagination and filtering on email. - Query Parameters: - filter (string): Filter users, e.g., `userName eq email@domain.com`. - Example: curl -X GET "https://favro.com/api/scim/v2/Users" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' - Response Example: {"totalResults":1,"itemsPerPage":100,"startIndex":1,"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"Resources":[{"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"id":"XL7tBffEMcasFPeQy","userName":"user@favro.com","name":{"givenName":"Favro","familyName":"User"},"displayName":"Favro User","active":true,"emails":[{"value":"user@favro.com","primary":true}],"entitlements":[{"FavroRole":"Guest"}],"favroRole":"Guest","groups":[],"meta":{"resourceType":"User","created":"2017-03-20T15:28:10.582Z","lastModified":"2017-03-20T15:28:10.582Z","location":"https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy"}}]} GET https://favro.com/api/scim/v2/Users/:userId - Retrieves a single user resource by ID. - Requires Authorization header. - Example: curl -X GET "https://favro.com/api/scim/v2/Users/XL7tBffEMcasFPeQy" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' - Response Example: {"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"id":"XL7tBffEMcasFPeQy","userName":"user@favro.com","name":{"givenName":"Favro","familyName":"User"},"displayName":"Favro User","active":true,"emails":[{"value":"user@favro.com","primary":true}],"entitlements":[{"FavroRole":"Guest"}],"favroRole":"Guest","groups":[],"meta":{"resourceType":"User","created":"2017-03-20T15:28:10.582Z","lastModified":"2017-03-20T15:28:10.582Z","location":"https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy"}} POST https://favro.com/api/scim/v2/Users - Creates a new user and adds them to the organization. - Requires Authorization header and Content-Type: application/json. - Request Body Parameters: - userName (string): The email for the new user. - emails (array): The email for the new user. - name (object): The name for the new user. Required. Favro uses `formatted` if `givenName` and `familyName` are absent. - favroRole (string): The workspace role (e.g., 'Guest'). See [Provisioning Roles](https://favro.com/developer/#provisioning-roles). - entitlements (array): Additional attributes, e.g., `{"FavroRole": "Guest"}`. - Example: curl -X POST "https://favro.com/api/scim/v2/Users" \ -H "Content-Type: application/json" \ -d '{ "userName": "user@favro.com", "name": { "givenName": "New", "familyName": "Name", "formatted": "New Name" }, "favroRole": "Guest" }' \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' - Response Example: {"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"id":"XL7tBffEMcasFPeQy","userName":"user@favro.com","name":{"givenName":"Favro","familyName":"User"},"displayName":"Favro User","active":true,"emails":[{"value":"user@favro.com","primary":true}],"entitlements":[{"FavroRole":"Guest"}],"favroRole":"Guest","groups":[],"meta":{"resourceType":"User","created":"2017-03-20T15:28:10.582Z","lastModified":"2017-03-20T15:28:10.582Z","location":"https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy"}} ``` ```curl curl -X GET "https://favro.com/api/scim/v2/Users" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' ``` ```json {"totalResults":1,"itemsPerPage":100,"startIndex":1,"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"Resources":[{"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"id":"XL7tBffEMcasFPeQy","userName":"user@favro.com","name":{"givenName":"Favro","familyName":"User"},"displayName":"Favro User","active":true,"emails":[{"value":"user@favro.com","primary":true}],"entitlements":[{"FavroRole":"Guest"}],"favroRole":"Guest","groups":[],"meta":{"resourceType":"User","created":"2017-03-20T15:28:10.582Z","lastModified":"2017-03-20T15:28:10.582Z","location":"https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy"}} ``` ```curl curl -X GET "https://favro.com/api/scim/v2/Users/XL7tBffEMcasFPeQy" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' ``` ```json {"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"id":"XL7tBffEMcasFPeQy","userName":"user@favro.com","name":{"givenName":"Favro","familyName":"User"},"displayName":"Favro User","active":true,"emails":[{"value":"user@favro.com","primary":true}],"entitlements":[{"FavroRole":"Guest"}],"favroRole":"Guest","groups":[],"meta":{"resourceType":"User","created":"2017-03-20T15:28:10.582Z","lastModified":"2017-03-20T15:28:10.582Z","location":"https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy"}} ``` ```curl curl -X POST "https://favro.com/api/scim/v2/Users" \ -H "Content-Type: application/json" \ -d '{ "userName": "user@favro.com", "name": { "givenName": "New", "familyName": "Name", "formatted": "New Name" }, "favroRole": "Guest" }' \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' ``` -------------------------------- ### SCIM v1.1 Provisioning Operations Source: https://favro.com/developer/index Details the available operations for SCIM v1.1 user and group provisioning, including creating, retrieving, updating, and deleting users and groups, as well as managing group memberships. ```APIDOC SCIM v1.1 Provisioning: User and group provisioning: Manages user and group data synchronization. Get all users: Retrieves a list of all users. Get user: Retrieves a specific user by ID. Create user: Creates a new user. Update user: Updates an existing user. Disable user: Disables a user account. Get all groups: Retrieves a list of all groups. Get group: Retrieves a specific group by ID. Create group: Creates a new group. Update group: Updates an existing group. Add or remove members: Manages members within a group. Delete group: Deletes a group. ``` -------------------------------- ### Get Group (GET) - Favro SCIM API Source: https://favro.com/developer/index Retrieves a single group resource from Favro by its unique identifier using the SCIM API. This endpoint allows fetching details of a specific group, including its members and metadata. The response contains the group's schema, ID, display name, and member list. ```curl curl -X GET "https://favro.com/api/scim/v2/Groups/6digk8JrQs2m4p4eY" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' ``` -------------------------------- ### Get All Groups (GET) - Favro SCIM API Source: https://favro.com/developer/index Retrieves a list of all group resources managed within Favro using the SCIM API. This endpoint supports pagination to handle large numbers of groups. The response includes a total count, items per page, and the array of group resources, each with its ID, display name, and members. ```curl curl -X GET "https://favro.com/api/scim/v2/Groups" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' ``` -------------------------------- ### POST /organizations - Create Organization Source: https://favro.com/developer/index Creates a new organization with a specified name and initial users. The response returns the newly created organization object. ```APIDOC POST https://favro.com/api/v1/organizations Authentication: Basic Auth (user@example.com:password) Headers: Content-Type: application/json Description: This endpoint creates a new organization. It requires a name and an optional list of users to share the organization with. Request Body: { "name": "string", "shareToUsers": [ { "userId": "string", "email": "string", "role": "string" } ] } Parameters: name (string): The name of the organization. Required. shareToUsers (array): The users who will be invited to the organization. See below for a description of a user share object. Optional. userId (string): The userId of the existing user. Required if email is not provided. email (string): Email. Required if userId is not provided. role (string): The role of the user in the organization. Refer to [organization roles](https://favro.com/developer/#organization-roles). Required. Response: The created organization object. Example Response: ```json { "organizationId": "67973f72db34592d8fc96c48", "name": "My organization", "thumbnail": "https://favro.s3.eu-central-1.amazonaws.com/8989898989-698e-4b9f-9c5f-223c0d191ffe.png", "sharedToUsers": [ { "userId": "fB6bJr5TbaKLiofns", "role": "administrator", "joinDate": "2016-02-10T14:25:58.745Z" } ] } ``` ``` ```curl curl -X POST "https://favro.com/api/v1/organizations" \ -d '{ "name": "My organization", "shareToUsers": [{ "userId": "fB6bJr5TbaKLiofns", "role": "administrator" }] }' \ -H "Content-Type: application/json" \ -u "user@example.com":"password" ``` -------------------------------- ### Favro API: Create Card Endpoint Source: https://favro.com/developer/index Detailed documentation for the Favro API endpoint used to create a new card. It outlines the HTTP method, URL, required headers, and a comprehensive list of request parameters with their types, locations, and descriptions. ```APIDOC HTTP Request: POST https://favro.com/api/v1/cards Headers: - organizationId: The ID of the organization for rate limiting and routing. - Content-Type: application/json - Authorization: Basic authentication (user:password) Request Parameters (body): - widgetCommonId (string, optional): The widget to create the card on. If omitted, card goes to user's todo list. - laneId (string, optional): The lane to create the card in (if widget supports lanes). - columnId (string, optional): The column to create the card in. Must belong to the specified widgetCommonId. - parentCardId (string, optional): The ID of the parent card in a hierarchy. Must belong to the specified widgetCommonId. - name (string, required): The name of the card. - detailedDescription (string, optional): The detailed description of the card, supports formatting. - dependencies (array, optional): List of card dependency options. - position (number, deprecated): Position of the card. Mapped to listPosition or sheetPosition. - listPosition (number, optional): New position in a column or todo list. - sheetPosition (number, optional): New position in a hierarchical view. - assignmentIds (array, optional): List of userIds to assign to the card. - tags (array, optional): List of tag names to add. New tags are created if they don't exist. - tagIds (array, optional): List of tag IDs to add. - startDate (string, optional): Card start date in ISO-8601 format. - dueDate (string, optional): Card due date in ISO-8601 format. - tasklists (array, optional): List of card tasklists. - customFields (array, optional): List of card custom field parameters. Query Parameters: - descriptionFormat (string, optional): Format of the card description in response ('plaintext' or 'markdown'). Defaults to 'plaintext'. Response Example: { "cardId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "columnId": "b4d8c6283d9d58f9a39108e7", "name": "This is a card", "createdByUserId": "p3tB8yWgtaMnDYdzW", "createdAt": "2023-02-06T12:46:45.945+00:00", "customFields": [ { "customFieldId": "kj4qQzhLMJ73dybBR", "total": 50400000, "reports": { "XTdS5bP6qX9Ta3rwt": { "reportId": "29ed6478b55f90d91c5f4727", "createdAt": "2016-01-13T00:00:00.000Z", "value": 50400000, "description": "Timesheet report description" } } } ], "archived": false, "timeOnBoard": { "time": 72000000, "isStopped": true }, "timeOnColumns": { "b4d8c6283d9d58f9a39108e7": 54000000, "as4d566783d9d58onuf8538f": 18000000 } } ``` -------------------------------- ### Delete a Favro Task Source: https://favro.com/developer/index Example using curl to delete a specific task from Favro. ```shell curl -X DELETE "https://favro.com/api/v1/tasks/67973f72db34592d8fc96c48" \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -u "user@example.com":"password" ``` -------------------------------- ### Favro SCIM API - User Management Source: https://favro.com/developer/index Comprehensive documentation for managing user resources via the Favro SCIM API. Includes endpoints for retrieving, creating, updating, and disabling users, along with their request/response details and parameter descriptions. ```APIDOC GET /api/scim/v1/Users/:userId Description: Retrieves a single user resource. Parameters: - userId: The unique identifier of the user. Headers: - Authorization: Bearer - Accept: application/json Example Request: curl -X GET "https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' Example Response: { "schemas": ["urn:scim:schemas:core:1.0"], "id": "XL7tBffEMcasFPeQy", "userName": "user@favro.com", "name": { "givenName": "Favro", "familyName": "User" }, "displayName": "Favro User", "active": true, "emails": [ { "value": "user@favro.com", "primary": true } ], "entitlements": [ { "FavroRole": "Guest" } ], "favroRole": "Guest", "groups": [], "meta": { "resourceType": "User", "created": "2017-03-20T15:28:10.582Z", "lastModified": "2017-03-20T15:28:10.582Z", "location": "https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy" } } POST /api/scim/v1/Users Description: Creates a user and adds it to the organization. Headers: - Authorization: Bearer - Content-Type: application/json - Accept: application/json Request Body: { "userName": "string", "name": { "givenName": "string", "familyName": "string", "formatted": "string" }, "emails": ["string"], "favroRole": "string", "entitlements": [ { "FavroRole": "string" } ] } Parameter Details: - userName (string): The email for the new user. Together with `emails`, the first email matching the bearer token domain will be used to identify the user. - emails (array): The email for the new user. Together with `userName`, the first email matching the bearer token domain will be used to identify the user. - name (object): The name for the new user. Favro uses the `formatted` parameter only if `givenName` and `familyName` is not specified. Required. - givenName (string): User's given name. - familyName (string): User's family name. - formatted (string): User's full name. - favroRole (string): The workspace role to provision user with. Default is full member. See [Provisioning Roles](https://favro.com/developer/#provisioning-roles). - entitlements (array): Array of objects with additional attributes. `FavroRole` or `favroRole` attribute to specify the workspace role for a user. Default is full member. See [Provisioning Roles](https://favro.com/developer/#provisioning-roles). Example Request: curl -X POST "https://favro.com/api/scim/v1/Users" \ -H "Content-Type: application/json" \ -d '{ "userName": "user@favro.com", "name": { "givenName": "Favro", "familyName": "User", "formatted": "Favro User" }, "entitlements": [ { "FavroRole": "Guest" } ] }' \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' Example Response: { "schemas": ["urn:scim:schemas:core:1.0"], "id": "XL7tBffEMcasFPeQy", "userName": "user@favro.com", "name": { "givenName": "Favro", "familyName": "User" }, "displayName": "Favro User", "active": true, "emails": [ { "value": "user@favro.com", "primary": true } ], "entitlements": [ { "FavroRole": "Guest" } ], "favroRole": "Guest", "groups": [], "meta": { "resourceType": "User", "created": "2017-03-20T15:28:10.582Z", "lastModified": "2017-03-20T15:28:10.582Z", "location": "https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy" } } PUT /api/scim/v1/Users/:userId Description: Updates a user. Parameters: - userId: The unique identifier of the user to update. Headers: - Authorization: Bearer - Content-Type: application/json - Accept: application/json Request Body: { "name": { "givenName": "string", "familyName": "string", "formatted": "string" }, "active": boolean, "entitlements": [ { "FavroRole": "string" } ] } Parameter Details: - name (object): The new name for the user. Favro uses the `formatted` parameter only if `givenName` and `familyName` is not specified. - givenName (string): User's new given name. - familyName (string): User's new family name. - formatted (string): User's new full name. - active (boolean): Activates or disables the user. Defaults to false. - entitlements (array): Array of objects with additional attributes. `FavroRole` or `favroRole` attribute to specify the workspace role for a user. Default is full member. See [Provisioning Roles](https://favro.com/developer/#provisioning-roles). Example Request: curl -X PUT "https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy" \ -H "Content-Type: application/json" \ -d '{ "name": { "givenName": "New", "familyName": "Name", "formatted": "New Name" }, "active": false }' \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' Example Response: { "schemas": ["urn:scim:schemas:core:1.0"], "id": "XL7tBffEMcasFPeQy", "userName": "user@favro.com", "name": { "givenName": "New", "familyName": "name" }, "displayName": "New name", "active": false, "emails": [ { "value": "user@favro.com", "primary": true } ], "groups": [], "meta": { "resourceType": "User", "created": "2017-03-20T15:28:10.582Z", "lastModified": "2017-03-20T15:28:10.582Z", "location": "http://localhost:3000/api/scim/v1/Users/XL7tBffEMcasFPeQy" } } DELETE /api/scim/v1/Users/:userId Description: Disables a user. Parameters: - userId: The unique identifier of the user to disable. Headers: - Authorization: Bearer - Accept: application/json Example Request: curl -X DELETE "https://favro.com/api/scim/v1/Users/XL7tBffEMcasFPeQy" \ -H "Authorization: Bearer Vi_wcfhsdpJg2knGnHmCoXiolxxxxxxxxx" \ -H 'Accept: application/json' ``` -------------------------------- ### Update a Favro Task (curl) Source: https://favro.com/developer/index Example using curl to update an existing task, modifying its name, completion status, or position. ```curl curl -X PUT "https://favro.com/api/v1/tasks/67973f72db34592d8fc96c48" \ -d '{ "name": "This is a task", "position": 1, "completed": true }' \ -H "organizationId: zk4CJpg5uozhL4R2W" \ -H "Content-Type: application/json" \ -u "user@example.com":"password" ```