{"id":18981443,"url":"https://github.com/awncorp/api-basecamp","last_synced_at":"2025-09-06T14:39:51.798Z","repository":{"id":77256339,"uuid":"300956456","full_name":"awncorp/api-basecamp","owner":"awncorp","description":"Basecamp.com API Client","archived":false,"fork":false,"pushed_at":"2020-10-03T20:33:08.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-21T09:19:35.580Z","etag":null,"topics":["api-client","perl","perl5"],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awncorp.png","metadata":{"files":{"readme":"README","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-03T19:02:48.000Z","updated_at":"2022-07-24T20:54:17.000Z","dependencies_parsed_at":"2023-02-27T09:31:18.227Z","dependency_job_id":null,"html_url":"https://github.com/awncorp/api-basecamp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/awncorp/api-basecamp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fapi-basecamp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fapi-basecamp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fapi-basecamp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fapi-basecamp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awncorp","download_url":"https://codeload.github.com/awncorp/api-basecamp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fapi-basecamp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273918436,"owners_count":25191099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-client","perl","perl5"],"created_at":"2024-11-08T16:09:50.811Z","updated_at":"2025-09-06T14:39:51.736Z","avatar_url":"https://github.com/awncorp.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"NAME\n\n    API::Basecamp - Basecamp.com API Client\n\nVERSION\n\n    version 0.06\n\nSYNOPSIS\n\n        use API::Basecamp;\n    \n        my $basecamp = API::Basecamp-\u003enew(\n            username   =\u003e 'USERNAME',\n            password   =\u003e 'PASSWORD',\n            identifier =\u003e 'APPLICATION NAME',\n            account    =\u003e 'ACCOUNT NUMBER',\n        );\n    \n        $basecamp-\u003edebug(1);\n        $basecamp-\u003efatal(1);\n    \n        my $project = $basecamp-\u003eprojects('605816632');\n        my $results = $project-\u003efetch;\n    \n        # after some introspection\n    \n        $project-\u003eupdate( ... );\n\nDESCRIPTION\n\n    This distribution provides an object-oriented thin-client library for\n    interacting with the Basecamp (http://basecamp.com) API. For usage and\n    documentation information visit https://github.com/basecamp/bcx-api.\n    API::Basecamp is derived from API::Client and inherits all of it's\n    functionality. Please read the documentation for API::Client for more\n    usage information.\n\nATTRIBUTES\n\n account\n\n        $basecamp-\u003eaccount;\n        $basecamp-\u003eaccount('ACCOUNT');\n\n    The account attribute should be set to the account holder's account ID\n    number.\n\n identifier\n\n        $basecamp-\u003eidentifier;\n        $basecamp-\u003eidentifier('IDENTIFIER');\n\n    The identifier attribute should be set to a string that identifies your\n    application.\n\n password\n\n        $basecamp-\u003epassword;\n        $basecamp-\u003epassword('PASSWORD');\n\n    The password attribute should be set to the account holder's password.\n\n username\n\n        $basecamp-\u003eusername;\n        $basecamp-\u003eusername('USERNAME');\n\n    The username attribute should be set to the account holder's username.\n\n debug\n\n        $basecamp-\u003edebug;\n        $basecamp-\u003edebug(1);\n\n    The debug attribute if true prints HTTP requests and responses to\n    standard out.\n\n fatal\n\n        $basecamp-\u003efatal;\n        $basecamp-\u003efatal(1);\n\n    The fatal attribute if true promotes 4xx and 5xx server response codes\n    to exceptions, a API::Client::Exception object.\n\n retries\n\n        $basecamp-\u003eretries;\n        $basecamp-\u003eretries(10);\n\n    The retries attribute determines how many times an HTTP request should\n    be retried if a 4xx or 5xx response is received. This attribute\n    defaults to 0.\n\n timeout\n\n        $basecamp-\u003etimeout;\n        $basecamp-\u003etimeout(5);\n\n    The timeout attribute determines how long an HTTP connection should be\n    kept alive. This attribute defaults to 10.\n\n url\n\n        $basecamp-\u003eurl;\n        $basecamp-\u003eurl(Mojo::URL-\u003enew('https://basecamp.com'));\n\n    The url attribute set the base/pre-configured URL object that will be\n    used in all HTTP requests. This attribute expects a Mojo::URL object.\n\n user_agent\n\n        $basecamp-\u003euser_agent;\n        $basecamp-\u003euser_agent(Mojo::UserAgent-\u003enew);\n\n    The user_agent attribute set the pre-configured UserAgent object that\n    will be used in all HTTP requests. This attribute expects a\n    Mojo::UserAgent object.\n\nMETHODS\n\n action\n\n        my $result = $basecamp-\u003eaction($verb, %args);\n    \n        # e.g.\n    \n        $basecamp-\u003eaction('head', %args);    # HEAD request\n        $basecamp-\u003eaction('options', %args); # OPTIONS request\n        $basecamp-\u003eaction('patch', %args);   # PATCH request\n\n    The action method issues a request to the API resource represented by\n    the object. The first parameter will be used as the HTTP request\n    method. The arguments, expected to be a list of key/value pairs, will\n    be included in the request if the key is either data or query.\n\n create\n\n        my $results = $basecamp-\u003ecreate(%args);\n    \n        # or\n    \n        $basecamp-\u003ePOST(%args);\n\n    The create method issues a POST request to the API resource represented\n    by the object. The arguments, expected to be a list of key/value pairs,\n    will be included in the request if the key is either data or query.\n\n delete\n\n        my $results = $basecamp-\u003edelete(%args);\n    \n        # or\n    \n        $basecamp-\u003eDELETE(%args);\n\n    The delete method issues a DELETE request to the API resource\n    represented by the object. The arguments, expected to be a list of\n    key/value pairs, will be included in the request if the key is either\n    data or query.\n\n fetch\n\n        my $results = $basecamp-\u003efetch(%args);\n    \n        # or\n    \n        $basecamp-\u003eGET(%args);\n\n    The fetch method issues a GET request to the API resource represented\n    by the object. The arguments, expected to be a list of key/value pairs,\n    will be included in the request if the key is either data or query.\n\n update\n\n        my $results = $basecamp-\u003eupdate(%args);\n    \n        # or\n    \n        $basecamp-\u003ePUT(%args);\n\n    The update method issues a PUT request to the API resource represented\n    by the object. The arguments, expected to be a list of key/value pairs,\n    will be included in the request if the key is either data or query.\n\nRESOURCES\n\n accesses\n\n        $basecamp-\u003eprojects('605816632')-\u003eaccesses;\n\n    The accesses method returns a new instance representative of the API\n    Accesses resource requested. This method accepts a list of path\n    segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/accesses.md.\n\n attachments\n\n        $basecamp-\u003eattachments;\n\n    The attachments method returns a new instance representative of the API\n    Attachments resource requested. This method accepts a list of path\n    segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/attachments.md\n    .\n\n calendar_events\n\n        $basecamp-\u003ecalendar_events;\n\n    The calendar_events method returns a new instance representative of the\n    API Calendar Events resource requested. This method accepts a list of\n    path segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/calendar_event\n    s.md.\n\n calendars\n\n        $basecamp-\u003ecalendars;\n\n    The calendars method returns a new instance representative of the API\n    Calendars resource requested. This method accepts a list of path\n    segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/calendars.md.\n\n comments\n\n        $basecamp-\u003eprojects('605816632')-\u003ecomments;\n\n    The comments method returns a new instance representative of the API\n    Comments resource requested. This method accepts a list of path\n    segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/comments.md.\n\n documents\n\n        $basecamp-\u003edocuments;\n\n    The documents method returns a new instance representative of the API\n    Documents resource requested. This method accepts a list of path\n    segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/documents.md.\n\n events\n\n        $basecamp-\u003eevents;\n\n    The events method returns a new instance representative of the API\n    Events resource requested. This method accepts a list of path segments\n    which will be used in the HTTP request. The following documentation can\n    be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/events.md.\n\n groups\n\n        $basecamp-\u003egroups;\n\n    The groups method returns a new instance representative of the API\n    Groups resource requested. This method accepts a list of path segments\n    which will be used in the HTTP request. The following documentation can\n    be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/groups.md.\n\n messages\n\n        $basecamp-\u003eprojects('605816632')-\u003emessages;\n\n    The messages method returns a new instance representative of the API\n    Messages resource requested. This method accepts a list of path\n    segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/messages.md.\n\n people\n\n        $basecamp-\u003epeople;\n\n    The people method returns a new instance representative of the API\n    People resource requested. This method accepts a list of path segments\n    which will be used in the HTTP request. The following documentation can\n    be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/people.md.\n\n project_templates\n\n        $basecamp-\u003eproject_templates;\n\n    The project_templates method returns a new instance representative of\n    the API Project Templates resource requested. This method accepts a\n    list of path segments which will be used in the HTTP request. The\n    following documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/project_templa\n    tes.md.\n\n projects\n\n        $basecamp-\u003eprojects;\n\n    The projects method returns a new instance representative of the API\n    Projects resource requested. This method accepts a list of path\n    segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/projects.md.\n\n stars\n\n        $basecamp-\u003estars;\n\n    The stars method returns a new instance representative of the API Stars\n    resource requested. This method accepts a list of path segments which\n    will be used in the HTTP request. The following documentation can be\n    used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/stars.md.\n\n todo_lists\n\n        $basecamp-\u003etodo_lists;\n\n    The todo_lists method returns a new instance representative of the API\n    Todo Lists resource requested. This method accepts a list of path\n    segments which will be used in the HTTP request. The following\n    documentation can be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/todolists.md.\n\n todos\n\n        $basecamp-\u003eprojects('605816632')-\u003etodos;\n\n    The todos method returns a new instance representative of the API Todos\n    resource requested. This method accepts a list of path segments which\n    will be used in the HTTP request. The following documentation can be\n    used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/todos.md.\n\n topics\n\n        $basecamp-\u003etopics;\n\n    The topics method returns a new instance representative of the API\n    Topics resource requested. This method accepts a list of path segments\n    which will be used in the HTTP request. The following documentation can\n    be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/topics.md.\n\n uploads\n\n        $basecamp-\u003eprojects('605816632')-\u003euploads;\n\n    The uploads method returns a new instance representative of the API\n    Uploads resource requested. This method accepts a list of path segments\n    which will be used in the HTTP request. The following documentation can\n    be used to find more information.\n    https://github.com/basecamp/bcx-api/blob/master/sections/uploads.md.\n\nAUTHOR\n\n    Al Newkirk \u003canewkirk@ana.io\u003e\n\nCOPYRIGHT AND LICENSE\n\n    This software is copyright (c) 2014 by Al Newkirk.\n\n    This is free software; you can redistribute it and/or modify it under\n    the same terms as the Perl 5 programming language system itself.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawncorp%2Fapi-basecamp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawncorp%2Fapi-basecamp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawncorp%2Fapi-basecamp/lists"}