{"components":{"responses":{"Problem":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"RFC 9457 problem details"}},"schemas":{"ContactAccepted":{"properties":{"message":{"description":"es: \"Recibido. Respuesta en menos de 48 horas.\" / en: \"Received. We reply within 48 hours.\"","type":"string"},"replyWithin":{"const":"48 hours","description":"Calendar hours until a first reply. Always \"48 hours\".","type":"string"},"requestId":{"description":"Server-generated id for this request.","type":"string"},"status":{"const":"received","description":"Always \"received\" when the request was accepted.","type":"string"}},"required":["status","requestId","replyWithin"],"type":"object"},"ContactRequest":{"type":"object","required":["name","email","message"],"additionalProperties":false,"properties":{"agentName":{"type":"string","maxLength":100,"description":"Name of the AI agent or tool sending this (e.g. \"ChatGPT agent\")"},"company":{"type":"string","maxLength":200,"description":"Optional organisation name, at most 200 characters."},"email":{"type":"string","maxLength":254,"description":"Where we send the reply","format":"email"},"locale":{"default":"es","type":"string","enum":["en","es"],"description":"Reply language"},"message":{"type":"string","minLength":1,"maxLength":5000,"description":"What the customer needs, in their words"},"name":{"type":"string","minLength":1,"maxLength":100,"description":"Person or company to reply to"},"onBehalfOf":{"type":"string","maxLength":200,"description":"Person or organisation the agent acts for, if different from name"},"phone":{"type":"string","maxLength":40,"description":"Optional phone number, at most 40 characters."},"website":{"type":"string","maxLength":2048,"description":"Current site, if any","format":"uri"}}},"Problem":{"properties":{"code":{"description":"Machine-readable problem code from the shared list.","enum":["invalid_json","method_not_allowed","not_found","payload_too_large","unsupported_media_type","validation_failed","rate_limited","delivery_failed","delivery_unavailable","internal_error"],"type":"string"},"detail":{"description":"Optional human-readable explanation that does not leak provider text.","type":"string"},"errors":{"description":"Optional per-field validation errors.","items":{"properties":{"field":{"description":"Name of the invalid request field.","type":"string"},"message":{"description":"Validation message for that field.","type":"string"}},"required":["field","message"],"type":"object"},"type":"array"},"requestId":{"description":"Optional id that correlates this error with server logs.","type":"string"},"status":{"description":"HTTP status code of the response.","type":"integer"},"title":{"description":"Short HTTP-reason title for this problem.","type":"string"},"type":{"description":"URI identifying this problem at /openapi.json#/x-problem-types/<code>.","format":"uri","type":"string"}},"required":["type","title","status","code"],"type":"object"}}},"info":{"description":"Estudio digital en España / Digital studio based in Spain","title":"Different Growth contact API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/contact":{"post":{"operationId":"createContactRequest","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactAccepted"}}},"description":"Received"},"400":{"$ref":"#/components/responses/Problem"},"405":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"RFC 9457 problem details","headers":{"Allow":{"description":"Allowed HTTP methods. Always POST.","required":true,"schema":{"const":"POST","type":"string"}}}},"413":{"$ref":"#/components/responses/Problem"},"415":{"$ref":"#/components/responses/Problem"},"422":{"$ref":"#/components/responses/Problem"},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"RFC 9457 problem details","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","required":true,"schema":{"type":"integer"}}}},"500":{"$ref":"#/components/responses/Problem"},"502":{"content":{"application/problem+json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"properties":{"code":{"const":"delivery_failed","type":"string"},"status":{"const":502,"type":"integer"}}}]}}},"description":"The mail provider could not send the message."},"503":{"content":{"application/problem+json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"properties":{"code":{"const":"delivery_unavailable","type":"string"},"status":{"const":503,"type":"integer"}}}]}}},"description":"Contact delivery is not configured."}},"security":[],"summary":"Send a contact request to Different Growth (same inbox as the website form)"}}},"security":[],"servers":[{"url":"https://www.differentgrowth.com"}],"x-problem-types":{"invalid_json":{"description":"The request body is not valid JSON.","title":"Bad Request"},"method_not_allowed":{"description":"Only POST is allowed on this resource.","title":"Method Not Allowed"},"not_found":{"description":"No resource exists at this path.","title":"Not Found"},"payload_too_large":{"description":"The request body is larger than 16 KiB.","title":"Payload Too Large"},"unsupported_media_type":{"description":"Content-Type must be application/json.","title":"Unsupported Media Type"},"validation_failed":{"description":"One or more fields failed validation.","title":"Unprocessable Entity"},"rate_limited":{"description":"This client exceeded the per-IP contact-api limit.","title":"Too Many Requests"},"delivery_failed":{"description":"The mail provider could not send the message.","title":"Bad Gateway"},"delivery_unavailable":{"description":"Contact delivery is not configured.","title":"Service Unavailable"},"internal_error":{"description":"An unexpected server error occurred.","title":"Internal Server Error"}}}